共用方式為


教學:在 Fabric Data Warehouse 中設置 dbt

適用於:Microsoft Fabric 中的✅ 資料庫

本教學課程將引導您設定 dbt 並將第一個專案部署至 Fabric 倉儲。

Introduction

dbt(資料建置工具)開源框架簡化了資料轉換和分析工程。 它專注於分析層內基於 SQL 的轉換,將 SQL 視為程式碼。 dbt 支援版本控制、模組化、測試和文件化。

適用於 Microsoft Fabric 的 dbt 配接器可用來建立 dbt 專案,然後可以部署至 Fabric 資料倉儲。

您也可以透過簡單地變更配接器來變更 dbt 專案的目標平台,例如;針對 Azure Synapse 專用 SQL 集區 建置的專案可以在幾秒鐘內升級至 Fabric Data Warehouse

適用於 Microsoft Fabric 的 dbt 配接器的必要條件

請遵循下列清單來安裝及設定 dbt 先決條件:

  1. Python 3.7 版(或更高版本)。

  2. 適用於 SQL Server 的 Microsoft ODBC 驅動程式

  3. 使用 PyPI (Python 套件索引) 存放庫pip install dbt-fabric中最新版本的 dbt-fabric 配接器。

    pip install dbt-fabric
    

    Note

    透過將 pip install dbt-fabric 更改為 pip install dbt-synapse 並使用下列指示,您可以安裝 Synapse 專用 SQL 集區的 dbt 配接器。

  4. 請務必使用pip list命令確認已安裝 dbt-fabric 及其相依性:

    pip list
    

    應該從此命令傳回套件和目前版本的長清單。

  5. 如果您還沒有倉庫,請建立倉庫。 您可以使用此練習的試用容量: 註冊 Microsoft Fabric 免費試用版、 建立工作區,然後 建立倉儲

開始使用 dbt-fabric 配接器

本教學課程使用 Visual Studio Code,但您可以使用您選擇的慣用工具。

  1. jaffle_shop示範 dbt 專案 複製到您的電腦上。

    git clone https://github.com/dbt-labs/jaffle-shop-classic.git
    
  2. 在 Visual Studio Code 中開啟 jaffle_shop 專案資料夾。

    Visual Studio Code 的螢幕擷取畫面,顯示開啟的專案。

  3. 如果您已經建立了倉庫,則可以跳過註冊。

  4. 建立 profiles.yml 檔案。 將下列組態新增至 profiles.yml。 此檔案使用 dbt-fabric 配接器來配置 Microsoft Fabric 中的倉儲連線。

    config:
      partial_parse: true
    jaffle_shop:
      target: fabric-dev
      outputs:    
        fabric-dev:
          authentication: CLI
          database: <put the database name here>
          driver: ODBC Driver 18 for SQL Server
          host: <enter your SQL analytics endpoint here>
          schema: dbo
          threads: 4
          type: fabric
    

    Note

    如有需要,將 type from fabric 變更為 synapse ,將資料庫配接器切換至 Azure Synapse Analytics。 任何現有的 dbt 專案的資料平台 都可以透過變更資料庫配接器來更新。 如需詳細資訊,請參閱 支援的資料平台的 dbt 清單

  5. 在 Visual Studio Code 終端機中向 Azure 驗證自己。

  6. 現在您已準備好測試連線能力。 若要測試與倉儲的連線能力,請在 Visual Studio Code 終端機中執行 dbt debug

    dbt debug
    

    Visual Studio Code 的螢幕擷取畫面,顯示 dbt 偵錯命令。

    所有檢查都已通過,這表示您可以使用 dbt 專案中的 jaffle_shop dbt-fabric 配接器來連接倉儲。

  7. 現在,是時候測試適配器是否正常工作了。 首先執行 dbt seed 以將範例資料插入倉儲。

    Visual Studio Code 的螢幕擷取畫面,顯示 dbt seed 命令。

  8. 執行 dbt run 以運行示範 dbt 專案中定義的模型。

    dbt run
    

    Visual Studio Code 的螢幕擷取畫面,顯示 dbt run 命令。

  9. 執行 dbt test 以驗證資料是否符合某些測試。

    dbt test
    

    Visual Studio Code 的螢幕擷取畫面,顯示 dbt test 命令。

您現在已將 dbt 專案部署至 Fabric Data Warehouse。

在不同倉庫之間移動

在不同倉庫之間移動 dbt 項目很簡單。 任何支援倉儲上的 dbt 專案都可以透過以下三個步驟程序快速移轉:

  1. 安裝新的配接卡。 如需相關資訊及完整安裝指示,請參閱 dbt 配接卡

  2. 更新 type 檔案中的 profiles.yml 屬性。

  3. 建置專案。

Fabric Data Factory 中的 dbt

當與流行的工作流程管理系統 Apache Airflow 整合時,dbt 成為編排資料轉換的強大工具。 Airflow 的調度和任務管理功能使數據團隊能夠自動化 dbt 運行。 它確保定期數據更新並保持一致的高品質數據流以進行分析和報告。 這種組合方法利用 dbt 的轉型專業知識和 Airflow 的工作流程管理,提供高效、強大的管道,最終做出更快、更有洞察力的數據驅動決策。

Apache Airflow 是一個開源平台,用於以程式設計方式建立、排程和監控複雜的資料工作流程。 它可讓您定義一組稱為運算子的工作,這些工作可以組合成有向無環圖 (DAG) 來表示管線。

如需將 dbt 與數據倉儲整合運作的更多資訊,請參閱 在 Microsoft Fabric 中使用 dbt 搭配 Data Factory 轉換資料

Considerations

使用 dbt-fabric 配接器時要考慮的重要事項:

  • 檢閱 Microsoft Fabric 資料倉儲的目前限制

  • Fabric 支援 Microsoft Entra ID(先前稱為 Azure Active Directory)為使用者主體、使用者身分識別與服務主體提供身份驗證。 建議以互動方式處理倉儲的驗證模式是 CLI (命令列介面) ,並使用服務主體進行自動化。

  • 檢閱 T-SQL(Transact-SQL) 命令,這些命令在 Fabric Data Warehouse 中不受支援。

  • dbt-fabric 配接器會使用 Create Table as Select(CTAS)、DROPCREATE 命令(例如:ALTER TABLE ADD/ALTER/DROP COLUMNMERGETRUNCATEsp_rename)來支援某些 T-SQL 命令。

  • 檢閱 不支援的資料類型 ,以瞭解支援和不支援的資料類型。

  • 您可以在 GitHub 上的 microsoft/dbt-fabric 擴充介面頁面報告問題。

後續步驟