Skip to main content
Version: 1.49.0

OpenLineage Integrations

Capability Matrix​

caution

This matrix is not yet complete.

The matrix below shows the relationship between an input facet and various mechanisms OpenLineage uses to gather metadata. Not all mechanisms collect data to fill in all facets, and some facets are specific to one integration.
✔️: The mechanism does implement this facet.
✖️: The mechanism does not implement this facet.
An empty column means it is not yet documented if the mechanism implements this facet.

MechanismIntegrationMetadata GatheredInputDatasetFacetOutputDatasetFacetSqlJobFacetSchemaDatasetFacetDataSourceDatasetFacetDataQualityMetricsInputDatasetFacetDataQualityAssertionsDatasetFacetSourceCodeJobFacetExternalQueryRunFacetDocumentationDatasetFacetSourceCodeLocationJobFacetDocumentationJobFacetParentRunFacet
dbtdbt Project FilesLineage
Row count
Byte count.
✔️
FeastFeature Store ConfigLineage
Schema
Feature metadata
✔️✔️✔️✔️✔️
Great ExpectationsActionData quality assertions✔️✔️✔️
SparkSparkListenerSchema
Row count
Column lineage
✔️

Compatibility matrix​

This matrix shows which data sources are known to work with each integration, along with the minimum versions required in the target system or framework.

PlatformVersionData Sources
Apache Spark2.4+JDBC
HDFS
Google Cloud Storage
Google BigQuery
BigTable
Spanner
CloudSQL
Google BigQuery
Google BigQuery
Amazon S3
Azure Blob Storage
Azure Data Lake Gen2
Azure Synapse
dbt0.20+Snowflake
Google BigQuery
Feast0.60+Feast-supported sources

Integration strategies​

info

This section could use some more detail! You're welcome to contribute using the Edit link at the bottom.

Integrating with pipelines​

Integrating with Pipelines

Integrating with data sources​

Integrating with Data Sources

Custom integrations​

As there are hundreds and possibly thousands databases, query engines and other tools you could use to process, create and move data, there's great chance that existing OpenLineage integrations won't cover your needs.

However, OpenLineage project also provides libraries you could use to write your own integration.

Clients​

For Python and Java, we've created clients that you can use to properly create and emit OpenLineage events to HTTP, Kafka, and other consumers.

Common Library (Python)​

Getting lineage from systems like BigQuery or Redshift isn't necessarily tied to orchestrator or processing engine you're using. For this reason, we've extracted that functionality and packaged it for separate use.

SQL parser​

We've created a SQL parser that allows you to extract lineage from SQL statements. The parser is implemented in Rust; however, it's also available as a Java or Python library. You can take a look at its sourcecode on GitHub.

API Documentation​