如何從 Airflow 將譜系帶入 Microsoft Purview (Preview)
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。
當 Airflow 中使用下列類型的數據源時,Microsoft Purview 支援元數據和譜系集合:
- Amazon RDS for PostgreSQL
- 適用於 PostgreSQL 的 Azure 資料庫
- Google BigQuery
- PostgreSQL
- Snowflake
下列 Airflow 元數據會沿著擷取:
- Airflow 工作區
- Airflow DAG
- 氣流工作
在以事件為基礎的方式成功執行DAG時,會將譜系收集到 Microsoft Purview 中。
已知限制
- 目前不支持數據行層級譜系。 擷取數據資產的架構。
- 如果工作中參考了資料庫檢視,則目前會擷取為數據表資產。
- 所有元數據都會內嵌到 purview 根集合Microsoft。 數據對應中已經存在的資產會保留在設定的集合中。
如何將 Airflow 譜系帶入 purview Microsoft
必要條件是,您需要執行中的 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 帳戶 -> 管理的資源] 索引標籤,停用 [Managed 事件中樞] 命名空間。
移至 [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 Governance 入口網站來流覽/搜尋/檢視資產。 資產應該會在 DAG 執行成功之後立即顯示。
瀏覽 Airflow 資產:
使用譜系檢視 Airflow 工作資產詳細數據:
疑難排解提示
如果您執行 Airflow 作業,但未在 Purview Microsoft中顯示對應的資產/譜系:
- 檢查 Microsoft Purview 是否支援您的 Airflow 使用案例。 請參閱 支援的功能 一節。
- 移至您的事件中樞實例,以檢查是否有任何傳入要求和訊息。 如果沒有,請在 Airflow 中再次檢查您的 OpenLineage 設定。