OpenLineage connector

Facet support reference

Every standard OpenLineage 1.55.0 facet and the integration-specific facets of Airflow, Spark, dbt, Flink, Hive, Trino and others, with what Blindata does with each

OpenLineage describes datasets, jobs and runs with facets: named blocks, each with a _producer and a _schemaURL. This page lists the facets of the OpenLineage specification that the connector knows, and what it does with each. It follows the OpenLineage release 1.55.0 (event schema 2-0-2).

  • Legend: ✅ Supported, read and mapped to a Blindata object · ⚠️ Partial, read and only partly used, usually as additional properties · ❌ Not used, accepted and ignored. An event is never rejected for a facet.
  • A facet is recognized by the file name in its _schemaURL first (without the version), then by its key. A producer that publishes a standard facet under another key (the Redshift Data provider publishes outputStatistics as stats, Great Expectations publishes greatExpectations_assertions) is still read.
  • Unknown and custom facets are accepted, ignored and counted by key in the run report (unknownFacets). A malformed facet is ignored and counted as MALFORMED_FACET; the rest of the event is still read.
  • Property values are text of at most 1,000 characters.

Standard facets

Dataset facets

Facet Version Decision What Blindata does
schema 1-2-0 ✅ Supported Fields, with nesting as dotted names , type, order and description.
documentation 1-1-0 ✅ Supported Description up to 250 characters, otherwise documentation .
symlinks 1-0-1 ✅ Supported Table identity of the dataset, when the namespace scheme has no naming profile.
datasetType 1-0-1 ✅ Supported Table type of created entities, and a subtype property.
hierarchy 1-0-0 ✅ Supported Split of the name into schema and entity.
columnLineage 1-2-0 ✅ Supported Field flows . A dataset-wide input is only described.
lineage (dataset) 1-0-0 ✅ Supported Dataset to dataset flows from a DatasetEvent.
catalog 1-1-0 ⚠️ Partial Additional properties.
dataSource 1-0-1 ⚠️ Partial Additional properties.
storage 1-0-1 ⚠️ Partial Additional properties.
ownership 1-0-1 ⚠️ Partial Additional properties.
tags 1-0-0 ⚠️ Partial Additional properties.
lifecycleStateChange 1-0-1 ⚠️ Partial Reported. A DROP deletes the entity only on Systems whose policy sets honourLifecycleDrop.
version 1-0-1 ❌ Not used It changes at every run and has no governance value.
dataQualityMetrics (dataset) 1-0-1 ✅ Supported Profiling metric records .

Input and output dataset facets

Facet Version Decision What Blindata does
dataQualityMetrics (input) 1-0-3 ✅ Supported Profiling metric records.
dataQualityAssertions 1-1-0 ✅ Supported Quality checks and results .
inputStatistics 1-0-0 ✅ Supported Run metrics of the entity.
outputStatistics 1-0-2 ✅ Supported Run metrics of the entity.
inputSubset, outputSubset 1-0-0 ❌ Not used No equivalent in Blindata.

Job facets

Facet Version Decision What Blindata does
lineage (job) 1-0-0 ✅ Supported The primary declared lineage: table flows, field flows, job to job flows.
sql 1-1-0 ✅ Supported A routine analyzed for column lineage.
jobType 2-0-4 ✅ Supported Job properties (openLineageJobType, processing type, integration). The emissionPattern tells how a run’s events are merged.
sourceCodeLocation 1-1-0 ✅ Supported Job properties.
documentation (job) 1-1-0 ✅ Supported Description or documentation of the job entity.
ownership (job) 1-0-1 ⚠️ Partial Properties.
tags (job) 1-0-0 ⚠️ Partial Properties.
sourceCode 1-0-1 ⚠️ Partial Properties; the code is not analyzed.

Run facets

Facet Version Decision What Blindata does
parent 1-2-0 ✅ Supported Orchestration flows .
jobDependencies 1-0-1 ✅ Supported Orchestration flows.
test 1-0-1 ✅ Supported Quality checks on the job entity.
nominalTime 1-0-1 ⚠️ Partial Read; the nominal times are not published as separate objects.
errorMessage 1-0-1 ⚠️ Partial Read; used for the error of a failed run in the report.
extractionError 1-1-2 ⚠️ Partial A producer-side gap: PRODUCER_PARTIAL_LINEAGE.
processing_engine 1-1-1 ⚠️ Partial Job properties.
externalQuery 1-0-2 ❌ Not used
executionParameters 1-0-0 ❌ Not used May contain secrets: never read.
environmentVariables 1-0-0 ❌ Not used May contain secrets: never read.
tags (run) 1-0-0 ❌ Not used A run is not an object in Blindata.

Of the 40 standard facets (in 38 schema files), 20 are supported, 13 partially and 7 not.

Integration-specific facets

These facets are defined by the integrations, with no versioned specification of their own, so the connector matches them by key or schema URL, and ignores what it does not know. “Property” means the content is stored as additional properties of the job or the entity. Facets that may expose secrets or personal data are never read.

Integration Facet Attaches to What Blindata does
Airflow (provider openlineage) airflow Job The DAG and its tasks as job entities, and the task graph (downstream_task_ids) as orchestration flows task to task.
airflow Run Property (DAG id, owner, schedule, operator class).
airflowDagRun Run Property.
airflowState Run Property: the last DAG run state.
airflow_mappedTask, debug Run Ignored.
unknownSourceAttribute Run Gap PRODUCER_NO_LINEAGE: an operator without lineage extraction.
Google Cloud Composer gcp_composer_job Job Property.
gcp_composer_run Run Ignored.
Apache Spark, Databricks spark_applicationDetails Run Property on the job.
environment-properties Run Property (Databricks environment: notebook path, job and run ids, cluster).
spark.exception Run Property.
spark_unknown Run Gap PRODUCER_PARTIAL_LINEAGE: plan nodes the integration could not handle.
spark_properties, spark_jobDetails, spark.logicalPlan, debug Run Ignored (spark_properties may expose configuration; the logical plan is large and the lineage is already extracted).
Google Cloud Dataproc gcp_dataproc Run Property.
Google Cloud Lineage gcp_lineage Job Property.
Apache Iceberg (Spark, Flink) icebergScanReport Input The scan metrics, as run metrics on the entity.
icebergCommitReport Output The commit metrics (added and removed records and files, duration), as run metrics on the output entity.
Apache Flink flink_job Run Property.
checkpoints Run Ignored (runtime health, not data).
Apache Hive (hook) hive_query Run Property.
hive_session, hive_properties Run Never read (personal data, configuration).
dbt (openlineage-dbt) dbt_node Job Property (original file path, database, schema, alias, unique id, test type).
dbt_run, dbt_version Run Property.
dbt_model Dataset Property on the entity (materialization, access, owner, group).
dbt_exposures Dataset Property: Blindata has no dashboard entity for them.
Great Expectations greatExpectations_assertions Dataset Read as dataQualityAssertions: quality checks and results .
great_expectations_meta Run Property.
Google BigQuery provider bigQuery_error Run Property.
bigQuery_job Run Ignored.
Amazon Redshift Data provider stats Output Read as outputStatistics, by its schema URL.
Trino (event listener) trino_metadata, trino_query_context, trino_query_statistics Run The query id as a property; the rest is ignored.

Some facets matter only when a producer is added: an event published from a repository (a JobEvent of a script, for example) carries none of them.

Not covered

  • Non-HTTP transports (file, Kafka): only the HTTP API is received.
  • Search engines: OpenSearch and Elasticsearch datasets are ignored.
  • Run objects: Blindata has no object for a run. Runs are merged and used, not stored.