如何将 Airflow 中的世系引入到 Microsoft Purview(预览版)
Airflow 是一个开源的工作流自动化和日程安排平台,可用于创建和管理数据管道。 Microsoft Purview 支持通过与 OpenLineage(用于数据世系收集和分析的开放框架)集成来收集 Airflow 世系。 点击此处了解 Airflow 如何与 OpenLineage 配合使用。
在 Airflow 中启用 OpenLineage 会自动跟踪执行 DAG 时有关作业和数据集的元数据和世系。 此信息将发送到你配置的 Azure 事件中心。 Microsoft Purview 会订阅事件,对其进行分析并引入数据映射。
重要
此功能目前以预览版提供。 Azure 预览版的补充使用条款包含适用于 beta 版、预览版或其他尚未正式发布的 Azure 功能的其他法律条款。
支持的功能
支持的 Airflow 版本为 1.10+ 和 2.0-2.7。
将一起捕获以下 Airflow 元数据:
- Airflow 工作区
- Airflow DAG
- Airflow 任务
成功以基于事件的方式运行 DAG 后,世系将收集到 Microsoft Purview 中。
已知限制
- 目前不支持列级世系。 捕获数据资产的架构。
- 如果任务中引用了数据库视图,则目前会被作为表资产捕获。
- 所有元数据都引入到 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 中显示的相应资产/世系,请执行以下操作:
- 检查你的 Airflow 用例是否受 Microsoft Purview 支持。 请参阅支持的功能部分。
- 转到事件中心实例,检查是否有任何传入的请求和消息。 如果没有,请在 Airflow 中仔细检查 OpenLineage 配置。