Skip to content

Lineage: optionally emit OpenLineage run and dataset events from Duckle manifests/catalog #311

Description

@LouisDeconinck

Current state

Duckle already has internal run manifests, dataset/artifact lineage, column lineage, run IDs, and a workspace catalog.

An optional standard export would let organizations integrate Duckle with existing lineage/observability tools without replacing Duckle’s own catalog.

Proposed solution

Emit OpenLineage-compatible events for:

START
COMPLETE
FAIL
ABORT/CANCEL, where representable

Run/job identity

Include:

Duckle run ID
pipeline/job ID
release/Git identity
trigger
parent Plan/backfill run
partition

Dataset facets

Map known inputs/outputs:

database/catalog/schema/table
DuckLake table
object-store/file/artifact URI
schema
data-source type

Include column-lineage facets where Duckle can determine them.

Do not invent precise lineage for dynamic/opaque code; mark it unknown or omit it.

Delivery

Configure an HTTP endpoint with:

bounded retries
short timeout
local buffer/queue
redaction

Telemetry delivery must never fail the data run.

Security/policy

  • apply URI/query-parameter redaction;
  • never emit credentials;
  • allow policy to disable or restrict external export;
  • optionally hash internal dataset names.

Scope

This is export only. Duckle does not need to import/manage an external OpenLineage catalog.

Acceptance criteria

  1. successful and failed Duckle runs emit correlated events;
  2. known input/output datasets and schemas are included;
  3. column lineage is emitted only when known;
  4. export failure cannot fail the pipeline;
  5. sensitive values are redacted.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions