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
_schemaURLfirst (without the version), then by its key. A producer that publishes a standard facet under another key (the Redshift Data provider publishesoutputStatisticsasstats, Great Expectations publishesgreatExpectations_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 asMALFORMED_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.