Supported classes

Below is a list of Operators and Hooks that support OpenLineage extraction, along with specific DB types that are compatible with the SQLExecuteQueryOperator.

Important

While we strive to keep the list of supported classes current, please be aware that our updating process is automated and may not always capture everything accurately. Detecting hook level lineage is challenging so make sure to double check the information provided below.

Tip

You can easily implement OpenLineage support for any operator. See Implementing OpenLineage in Operators.

Core operators

At the moment, two core operators support OpenLineage. These operators function as a ‘black box,’ capable of running any code, which might limit the extent of lineage extraction (e.g. lineage will usually not contain input/output datasets). To enhance the extraction of lineage information, operators can utilize the hooks listed below that support OpenLineage.

Spark operators

The OpenLineage integration can automatically inject information into Spark application properties when its being submitted from Airflow. The following is a list of supported operators along with the corresponding information that can be injected. See automatic injection of parent job information for more details.

apache-airflow-providers-apache-livy

  • LivyOperator
    • Parent Job Information

    • Transport Information (only HTTP transport is supported for now (with api_key auth, if any))

apache-airflow-providers-apache-spark

  • SparkSubmitOperator
    • Parent Job Information

    • Transport Information (only HTTP transport is supported for now (with api_key auth, if any))

apache-airflow-providers-google

SQL operators

Operators inheriting from BaseSQLOperator may be supported out of the box. These operators can use SQL parsing and may query DB for lineage extraction. To extract unique data from each database type, a dedicated Hook implementing OpenLineage methods is required. Not all subclasses of BaseSQLOperator are automatically supported, only those also using a supported Hook and similar attribute naming convention (e.g., storing query under self.sql).

Important

The level of OpenLineage extraction may vary between SQL operators. Most will provide the executed SQL text, while others may also expose additional metadata such as query IDs or other query-related information. Due to the automatic generation of this documentation, some operators listed as supported SQL operators may not contain full lineage information. Please review the implementation of your operator and its corresponding hook to confirm the level of OpenLineage support.

Currently, the following databases (hooks) are supported together with SQL operators:

Providers

The operators and hooks listed below from each provider are natively equipped with OpenLineage support.

apache-airflow-providers-amazon (9.18.1)

Operators

Hooks

apache-airflow-providers-common-io (1.7.0)

Operators

apache-airflow-providers-common-sql (1.30.1)

SQL operators*

apache-airflow-providers-databricks (7.8.1)

Operators

SQL operators*

apache-airflow-providers-dbt-cloud (4.6.1)

Operators

apache-airflow-providers-exasol (4.9.0)

SQL operators*

apache-airflow-providers-ftp (3.14.0)

Operators

apache-airflow-providers-google (19.2.0)

Operators

SQL operators*

Hooks

apache-airflow-providers-openlineage (2.9.1)

Operators

apache-airflow-providers-pgvector (1.6.0)

SQL operators*

apache-airflow-providers-sftp (5.5.1)

Operators

apache-airflow-providers-snowflake (6.8.0)

Operators

SQL operators*

apache-airflow-providers-teradata (3.3.1)

SQL operators*

apache-airflow-providers-ydb (2.3.1)

SQL operators*

Was this entry helpful?