airflow.providers.openlineage.sqlparser
¶
模組內容¶
類別¶
get_table_schemas 參數。 |
|
包含處理 SQL 陳述式剖析結果所需的資料庫特定資訊。 |
|
openlineage-sql 的介面。 |
函數¶
|
屬性¶
- airflow.providers.openlineage.sqlparser.DEFAULT_INFORMATION_SCHEMA_COLUMNS = ['table_schema', 'table_name', 'column_name', 'ordinal_position', 'udt_name'][source]¶
- airflow.providers.openlineage.sqlparser.DEFAULT_INFORMATION_SCHEMA_TABLE_NAME = 'information_schema.columns'[source]¶
- class airflow.providers.openlineage.sqlparser.GetTableSchemasParams[source]¶
基底類別:
airflow.typing_compat.TypedDict
get_table_schemas 參數。
- class airflow.providers.openlineage.sqlparser.DatabaseInfo[source]¶
包含處理 SQL 陳述式剖析結果所需的資料庫特定資訊。
- 參數
scheme – OpenLineage 命名空間中 URI 的 Scheme 部分。
authority – OpenLineage 命名空間中 URI 的 Authority 部分。在大多數情況下,它應該傳回 Airflow 連線的 {host}:{port} 部分。請參閱: https://github.com/OpenLineage/OpenLineage/blob/main/spec/Naming.md
database – 優先於已剖析的資料庫名稱。
information_schema_columns – 來自 information schema 表格的欄位名稱清單。
information_schema_table_name – Information schema 表格名稱。
use_flat_cross_db_query – 指定是否應將單一 information schema 表格用於跨資料庫查詢(例如,Redshift)。
is_information_schema_cross_db – 指定 information schema 是否包含跨資料庫資料。
is_uppercase_names – 指定資料庫是否僅接受大寫名稱(例如 Snowflake)。
normalize_name_method – 正規化資料庫、結構描述和表格名稱的方法。預設為 name.lower()。
- airflow.providers.openlineage.sqlparser.from_table_meta(table_meta, database, namespace, is_uppercase)[source]¶
- class airflow.providers.openlineage.sqlparser.SQLParser(dialect=None, default_schema=None)[source]¶
基底類別:
airflow.utils.log.logging_mixin.LoggingMixin
openlineage-sql 的介面。
- parse_table_schemas(hook, inputs, outputs, database_info, namespace=DEFAULT_NAMESPACE, database=None, sqlalchemy_engine=None)[source]¶
剖析輸入和輸出表格的結構描述。
- get_metadata_from_parser(inputs, outputs, database_info, namespace=DEFAULT_NAMESPACE, database=None)[source]¶
- attach_column_lineage(datasets, database, parse_result)[source]¶
將欄位沿襲 facet 附加到資料集清單。
請注意,目前每個資料集都設定了相同的欄位沿襲資訊。在 OpenLineage SQL Parser 改善後,這將會是一個變更的項目。
- generate_openlineage_metadata_from_sql(sql, hook, database_info, database=None, sqlalchemy_engine=None, use_connection=True)[source]¶
剖析 SQL 陳述式並產生 OpenLineage metadata。
產生的 OpenLineage metadata 包含
已剖析結構描述的輸入表格
已剖析結構描述的輸出表格
執行 facet
工作 facet。
- 參數
hook (airflow.hooks.base.BaseHook) – 用於連線到資料庫的 Airflow Hook
database_info (DatabaseInfo) – 資料庫特定資訊
database (str | None) – 傳遞時,優先於已剖析的資料庫名稱
sqlalchemy_engine (sqlalchemy.engine.Engine | None) – 傳遞時,引擎的方言會用於編譯 SQL 查詢