支持的类¶
下面列出了支持 OpenLineage 提取的 Operators 和 Hooks,以及与 SQLExecuteQueryOperator 兼容的特定数据库类型。
重要
虽然我们努力保持支持的类列表最新,但请注意,我们的更新过程是自动化的,可能并非总是准确地捕获所有内容。检测 Hook 级别的 lineage 具有挑战性,因此请务必仔细检查下面提供的信息。
提示
您可以轻松地为任何 Operator 实现 OpenLineage 支持。参见在 Operators 中实现 OpenLineage。
核心 Operators¶
目前,有两个核心 Operator 支持 OpenLineage。这些 Operator 功能类似于“黑箱”,能够运行任何代码,这可能会限制 lineage 提取的范围。为了增强 lineage 信息的提取,Operator 可以利用下面列出的支持 OpenLineage 的 Hooks。
Spark Operators¶
OpenLineage 集成可以在 Spark 应用从 Airflow 提交时,自动将信息注入到其 Spark 应用属性中。下面是支持的 Operators 列表以及可以注入的相应信息。有关更多详细信息,请参阅父作业信息的自动注入。
apache-airflow-providers-apache-livy¶
LivyOperator
父作业信息
传输信息(目前仅支持 HTTP 传输(如果存在 api_key 认证))
apache-airflow-providers-apache-spark¶
SparkSubmitOperator
父作业信息
传输信息(目前仅支持 HTTP 传输(如果存在 api_key 认证))
apache-airflow-providers-google¶
DataprocCreateBatchOperator
父作业信息
传输信息(目前仅支持 HTTP 传输(如果存在 api_key 认证))
DataprocInstantiateInlineWorkflowTemplateOperator
父作业信息
传输信息(目前仅支持 HTTP 传输(如果存在 api_key 认证))
DataprocSubmitJobOperator
父作业信息
传输信息(目前仅支持 HTTP 传输(如果存在 api_key 认证))
SQLExecuteQueryOperator
¶
使用 SQL 解析进行 lineage 提取。要从每种数据库类型中提取独特数据,需要一个实现 OpenLineage 方法的专用 Hook。目前支持以下数据库:
MsSql (通过
MsSqlHook
)MySql (通过
MySqlHook
)PgVector (通过
PgVectorHook
)Postgres (通过
PostgresHook
)RedshiftSQL (通过
RedshiftSQLHook
)Snowflake (通过
SnowflakeHook
)Trino (通过
TrinoHook
)
Providers¶
下面列出的来自各个 provider 的 Operators 和 Hooks 原生支持 OpenLineage。