共用方式為


如何從 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,您需要:

  1. 設定 Azure 事件中樞
  2. 設定事件中樞將訊息發佈至 Microsoft Purview
  3. 使用 OpenLineage 設定您的 Airflow
  4. 執行 Airflow 作業並檢視資產/譜系

設定 Azure 事件中樞

將 Azure 事件中樞 設定為 Airflow 中 OpenLineage 追蹤之元數據和譜系的接收者。

  1. 建立 Azure 事件中樞 命名空間

  2. 建立事件中樞。 將事件中樞命名為「microsoft_internal_openlineage」。

    在 Azure 事件中樞 中建立新事件中樞的螢幕快照

  3. 移至您的「microsoft_internal_openlineage」事件中樞 ->訪問控制 (IAM) ->新增角色指派,將「Azure 事件中樞 數據接收者」角色指派給Microsoft Purview 帳戶的受控識別。 如需詳細步驟,請參閱使用 Azure 入口網站 指派 Azure 角色

設定事件中樞將訊息發佈至 Microsoft Purview

Microsoft Purview 支援從您自己的事件中樞取用和推送事件。 請遵循此文件來設定適用於 Microsoft Purview 的事件中樞: 使用 Microsoft Purview 設定事件中樞,以傳送和接收 Atlas Kafka 主題訊息

總結:

  • 移至您的Microsoft [Purview 帳戶 -> 管理的資源] 索引標籤,停用 [Managed 事件中樞] 命名空間。

  • 移至 [Kafka 組態] 索引標籤 ->+ [新增組態->勾點設定]、輸入名稱,然後選取您在上一個步驟中建立的事件中樞命名空間和事件中樞。

    設定事件中樞將訊息發佈至 Microsoft Purview 的螢幕快照

使用 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 傳送事件的目標。

  1. 在您的 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
    

    將兩個佔位元取代為值:

    • {EVENTHUB_SERVER}從事件中樞命名空間取得 ->主機名

      從事件中樞命名空間取得主機名的螢幕快照

    • {PASSWORD}從事件中樞命名空間取得 -共用存取原則 ->>連接字串 - 主鍵連接字串 - 次要密鑰

      取得事件中樞 連接字串 鍵的螢幕快照

  2. 重新啟動您的 Airflow 伺服器。

執行 Airflow 作業並檢視資產/譜系

您現在可以執行您的 Airflow 作業,然後移至 Microsoft Purview Governance 入口網站來流覽/搜尋/檢視資產。 資產應該會在 DAG 執行成功之後立即顯示。

瀏覽 Airflow 資產:

依來源類型瀏覽資料目錄的螢幕快照

流覽 Airflow 來源以查看詳細資料的螢幕快照

使用譜系檢視 Airflow 工作資產詳細數據:

在 Airflow 工作資產上檢視 Airflow 譜系詳細數據的螢幕快照

疑難排解提示

如果您執行 Airflow 作業,但未在 Purview Microsoft中顯示對應的資產/譜系:

  • 檢查 Microsoft Purview 是否支援您的 Airflow 使用案例。 請參閱 支援的功能 一節。
  • 移至您的事件中樞實例,以檢查是否有任何傳入要求和訊息。 如果沒有,請在 Airflow 中再次檢查您的 OpenLineage 設定。

後續步驟