分享方式:


如何從 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
  • 雪花

下列 Airflow 中繼資料會沿著擷取:

  • Airflow 工作區
  • Airflow DAG
  • 氣流工作

在以事件為基礎的方式成功執行 DAG 時,會將譜系收集到 Microsoft Purview 中。

已知限制

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

如何將 Airflow 譜系帶入 Microsoft Purview

必要條件是,您需要執行中的 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 治理入口網站來流覽/搜尋/檢視資產。 資產應該會在 DAG 執行成功之後立即顯示。

流覽 Airflow 資產:

依來源類型流覽資料目錄的螢幕擷取畫面

流覽 Airflow 來源以查看詳細資料的螢幕擷取畫面

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

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

疑難排解提示

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

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

後續步驟