Skip to content

feat(lineage): emit GCP-oriented OpenLineage facets for Knowledge Catalog UI enrichment - #2254

Merged
rafal-hawrylak merged 1 commit into
mainfrom
feat-dataform-lineage-pr2
Aug 26, 2026
Merged

feat(lineage): emit GCP-oriented OpenLineage facets for Knowledge Catalog UI enrichment#2254
rafal-hawrylak merged 1 commit into
mainfrom
feat-dataform-lineage-pr2

Conversation

@rafal-hawrylak

Copy link
Copy Markdown
Collaborator

Emit GCP-oriented OpenLineage facets for Knowledge Catalog UI enrichment

Extends the lineage emitter with facets that Knowledge Catalog and the BigQuery Pipelines UI consume:

Run facets:

  • externalQuery — anchors the run to the BigQuery job ID, enabling Knowledge Catalog UI clickthrough to the BigQuery query. Uses the credentials project for the qualified externalQueryId (matches how BigQuery resolves the job).
  • errorMessage — emitted only on FAIL. Concatenates task-level error messages so Knowledge Catalog surfaces the failure reason.

Job facets:

  • sql — the executed SQL statements (joined ;\n), for Knowledge Catalog display.
  • jobType — declares integration=BIGQUERY_PIPELINES, jobType=ACTION, processingType=BATCH per the OpenLineage JobTypeJobFacet spec.
  • gcp_bq_pipelines_job — dataformCoreVersion, actionType, actionName. Knowledge Catalog persists these on the Process so the UI can categorize actions.

PR 2 of 3. Adds credentialsProjectId to LineagePayloadBuilder.build (needed for externalQuery) and wires it through from the emitter.

Excluded from this PR (PR 3): endpoint router with REP fallback, gax retry policy, structured error classification, staging endpoint override.

@rafal-hawrylak
rafal-hawrylak requested a review from a team as a code owner August 21, 2026 22:17
@rafal-hawrylak
rafal-hawrylak requested review from zaptot and removed request for a team August 21, 2026 22:17
Comment thread cli/api/lineage/payload_builder.ts Outdated
Comment thread cli/api/lineage/payload_builder.ts Outdated
…alog UI enrichment

Extends the lineage emitter with facets that Knowledge Catalog and the
BigQuery Pipelines UI consume:

Run facets:
- externalQuery — anchors the run to the BigQuery job ID, enabling
  Knowledge Catalog UI clickthrough to the BigQuery query. Uses the
  credentials project for the qualified externalQueryId (matches how
  BigQuery resolves the job).
- errorMessage — emitted only on FAIL. Concatenates task-level error
  messages so Knowledge Catalog surfaces the failure reason.

Job facets:
- sql — the executed SQL statements (joined `;\n`), for Knowledge
  Catalog display.
- jobType — declares integration=BIGQUERY_PIPELINES, jobType=ACTION,
  processingType=BATCH per the OpenLineage JobTypeJobFacet spec.
- gcp_bq_pipelines_job — dataformCoreVersion, actionType, actionName.
  Knowledge Catalog persists these on the Process so the UI can
  categorize actions.

PR 2 of 3. Adds credentialsProjectId to LineagePayloadBuilder.build
(needed for externalQuery) and wires it through from the emitter.

Excluded from this PR (PR 3): endpoint router with REP fallback,
gax retry policy, structured error classification, staging endpoint
override.
@rafal-hawrylak
rafal-hawrylak force-pushed the feat-dataform-lineage-pr2 branch from 6c33389 to a56067d Compare August 26, 2026 06:15
@rafal-hawrylak
rafal-hawrylak merged commit f6d81b1 into main Aug 26, 2026
11 checks passed
@rafal-hawrylak
rafal-hawrylak deleted the feat-dataform-lineage-pr2 branch August 26, 2026 06:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants