共用方式為


如何將譜系從 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。

在 Airflow 中使用下列類型的資料來源時,Microsoft Purview 支援中繼資料和譜系收集:

  • 適用於 PostgreSQL 的 Amazon RDS
  • 適用於 PostgreSQL 的 Azure 資料庫
  • Google BigQuery
  • PostgreSQL
  • Snowflake

會擷取下列 Airflow 中繼資料:

  • 氣流工作區
  • 氣流 DAG
  • 氣流任務

譜系會在 DAG 成功執行時,以事件型方式收集到 Microsoft Purview 中。

已知限制

  • 目前不支援資料行層級譜系。 會擷取資料資產的結構描述。
  • 如果在工作中參考資料庫檢視,則目前會擷取為資料表資產。
  • 所有中繼資料都會內嵌至 Microsoft Purview 根集合。 資料對應中已存在的資產會保留在已設定的集合中。

如何將 Airflow 譜系帶入 Microsoft Purview

作為先決條件,您需要一個正在運行的 Airflow 實例。

若要將 Airflow 的譜系從 Microsoft Purview 取得,您必須:

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

設定 Azure 事件中樞

將 Azure 事件中樞設定為 OpenLineage 在 Airflow 中追蹤的中繼資料和譜系的接收者。

  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 帳戶 -> 受控資源] 索引標籤,停用受控事件中樞命名空間。

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

    設定事件中樞以將訊息發佈至 Microsoft Purview 的螢幕擷取畫面

使用 OpenLineage 配置您的氣流

裝置:

若要下載並安裝最新的「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 治理入口網站 以瀏覽/搜尋/檢視資產。 這些資產應該會在 DAG 成功運行後不久出現。

瀏覽 Airflow 資產:

依來源類型瀏覽整合式目錄的螢幕擷取畫面

瀏覽氣流來源的螢幕截圖以查看詳細資訊

檢視具有譜系的 Airflow 工作資產詳細資料:

檢視 Airflow 工作資產的 Airflow 譜系詳細資料的螢幕擷取畫面

疑難排解提示

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

  • 檢查 Microsoft Purview 是否支援您的 Airflow 使用案例。 請參閱 支援的功能 一節。
  • 移至您的事件中樞執行個體,檢查是否有任何傳入要求和訊息。 如果沒有,請仔細檢查 Airflow 中的 OpenLineage 配置。

後續步驟