如何从 Airflow 获取世系到 Microsoft Purview (预览版)
Airflow 是一个开源工作流自动化和计划平台,可用于创作和管理数据管道。 Microsoft Purview 支持通过与 OpenLineage 集成来收集 Airflow 世系, OpenLineage 是用于数据世系收集和分析的开放框架。 在此处了解 Airflow 如何与 OpenLineage 配合使用。
在 Airflow 中启用 OpenLineage 会在 DAG 执行时自动跟踪有关作业和数据集的元数据和世系。 信息将发送到你配置的Azure 事件中心。 Microsoft Purview 订阅事件,对其进行分析并将其引入到数据映射中。
重要
此功能目前处于预览阶段。 Microsoft Azure 预览版的补充使用条款包括适用于 Beta 版、预览版或其他尚未正式发布的 Azure 功能的其他法律条款。
支持的功能
支持的 Airflow 版本为 1.10+ 和 2.0-2.7。
Microsoft当 Airflow 中使用以下类型的数据源时,Purview 支持元数据和世系收集:
- Amazon RDS for PostgreSQL
- Azure Database for PostgreSQL
- Google BigQuery
- PostgreSQL
- Snowflake
将捕获以下 Airflow 元数据:
- Airflow 工作区
- Airflow DAG
- 气流任务
以基于事件的方式成功运行 DAG 后,会将世系收集到 purview Microsoft。
已知限制
- 目前不支持列级世系。 捕获数据资产的架构。
- 如果在任务中引用了数据库视图,则它们当前将捕获为表资产。
- 所有元数据都引入到 Microsoft Purview 根集合中。 数据映射中已存在的资产保留在配置的集合中。
如何将 Airflow 世系引入 Microsoft Purview
作为先决条件,需要一个正在运行的 Airflow 实例。
若要从 Airflow 获取世系到 Microsoft Purview,需要:
设置Azure 事件中心
将Azure 事件中心设置为 Airflow 中 OpenLineage 跟踪的元数据和世系的接收方。
创建事件中心。 将事件中心命名为“microsoft_internal_openlineage”。
转到“microsoft_internal_openlineage”事件中心 ->访问控制 (IAM) ->添加角色分配,将“Azure 事件中心数据接收器”角色分配给 Microsoft Purview 帐户的托管标识。 有关详细步骤,请参阅使用Azure 门户分配 Azure 角色。
配置事件中心以将消息发布到 Microsoft Purview
Microsoft Purview 支持从你自己的事件中心使用和推送事件。 按照此文档为 Microsoft Purview 配置 事件中心:使用 Microsoft Purview 配置事件中心以发送和接收 Atlas Kafka 主题消息。
摘要:
转到“Microsoft Purview 帐户 -> 托管资源”选项卡,禁用托管事件中心命名空间。
转到“Kafka 配置”选项卡->+“添加配置 ”->“挂钩配置”,输入名称,然后选择在上一步中创建的事件中心命名空间和事件中心。
使用 OpenLineage 配置 Airflow
安装:
若要下载并安装最新的“openlineage-airflow”库,请使用以下方法更新正在运行的 Airflow 实例的“requirements.txt”文件:
openlineage-airflow
注意
Airflow 版本和 openlineage-airflow 版本需要匹配。 例如,使用 Airflow 2.7.1 时,可以使用 openlineage-airflow 版本 1.1.0 或 1.2.0。 可以在 此网站上查看匹配的版本。
配置:
接下来,将 Azure 事件中心 实例配置为 OpenLineage 将事件发送到的目标。
在 Airflow 根路径下创建“openlineage.yml”文件。 文件的内容如下所示:
transport: type: "kafka" config: bootstrap.servers: "{EVENTHUB_SERVER}:9093" security.protocol: "SASL_SSL" sasl.mechanism: "PLAIN" sasl.username: "$ConnectionString" sasl.password: "{PASSWORD}" client.id: "airflow-client" topic: "microsoft_internal_openlineage" flash: True
将两个占位符替换为值:
重启 Airflow 服务器。
运行 Airflow 作业并查看资产/世系
现在可以运行 Airflow 作业,然后转到 Microsoft Purview 治理门户浏览/搜索/查看资产。 资产应在成功运行 DAG 后不久显示。
浏览 Airflow 资产:
使用世系查看 Airflow 任务资产详细信息:
疑难解答提示
如果运行 Airflow 作业,但未在 Microsoft Purview 中看到相应的资产/世系:
- 检查 Microsoft Purview 是否支持 Airflow 用例。 请参阅 支持的功能 部分。
- 转到事件中心实例以检查是否有任何传入的请求和消息。 如果不是,请在 Airflow 中双重检查 OpenLineage 配置。