共用方式為


聯機到 dbt Core

此 Artcle 說明什麼是 dbt、如何安裝 dbt Core,以及如何連線。 您也可以使用裝載的 dbt 版本,稱為 dbt Cloud。 如需詳細資訊,請參閱 連線到 dbt Cloud

什麼是 dbt?

dbt (資料建置工具) 是一種開發環境,可藉由撰寫 select 語句來轉換數據。 dbt 會將這些 select 語句轉換成數據表和檢視表。 dbt 會將程式碼編譯成原始 SQL,然後在 Azure Databricks 的指定資料庫中執行該程式碼。 dbt 支援共同作業編碼模式和最佳做法,包括版本控制、檔和模組化。

dbt 不會擷取或載入數據。 dbt 僅著重於轉換步驟,使用「載入後轉換」架構。 dbt 假設您在資料庫中已有一份資料複本。

dbt Core 可讓您在本機開發計算機上選擇的 IDE 中撰寫 dbt 程式代碼,然後從命令行執行 dbt。 dbt Core 包含 dbt 命令列介面 (CLI)。 dbt CLI 是免費的,開放原始碼

dbt Core (和 dbt Cloud) 可以使用託管的 Git 存放庫。 如需詳細資訊,請參閱 在 dbt 網站上建立 dbt 專案 和使用 現有的專案

安裝需求

安裝 dbt Core 之前,您必須在本機開發電腦上安裝下列專案:

  • Python 3.7 或更高版本
  • 用來建立 Python 虛擬環境的公用程式(例如 pipenv

您也需要下列其中一項來驗證:

  • (建議) 在您的帳戶中以 OAuth 應用程式身分啟用 dbt Core。 此功能預設為啟用。

  • 個人存取令牌

    注意

    當您使用自動化工具、系統、腳本和應用程式進行驗證時,Databricks 建議您使用 OAuth 令牌,這是安全性最佳做法。

    如果您使用個人存取令牌驗證,Databricks 建議使用屬於 服務主體 的個人存取令牌,而不是工作區使用者。 若要建立服務主體的令牌,請參閱 管理服務主體的令牌。

步驟 1:安裝 dbt Databricks 配接器

我們建議使用 Python 虛擬環境 ,因為它會將套件版本和程式代碼相依性隔離到該特定環境,而不論其他環境中的套件版本和程式代碼相依性為何。 這有助於減少非預期的套件版本不符和程式代碼相依性衝突。

Databricks 建議 1.8.0 版或更新版本的 dbt-databricks 套件

.. 重要::如果您的本機開發計算機使用下列任何操作系統,您必須先完成其他步驟:CentOS、MacOS、Ubuntu、Debian 和 Windows。 請參閱使用 pip 在 dbt Labs 網站上安裝 dbt一節。

步驟 2:建立 dbt 專案並指定及測試連線設定

建立 dbt 專案(使用 dbt 所需的相關目錄和檔案集合)。 接著,您可以設定連線 配置檔,其中包含 Azure Databricks 計算SQL 倉儲或兩者的連接設定。 為了增加安全性,dbt 專案和配置文件預設會儲存在不同的位置。

  1. 當虛擬環境仍然啟用時,請使用專案名稱執行 dbt init 命令。 此範例程式會建立名為 my_dbt_demo的專案。

    dbt init my_dbt_demo
    
  2. 當系統提示您選擇 databricksspark 資料庫時,請輸入對應至 databricks的數位。

  3. 出現值提示 host 時,請執行下列動作:

    • 針對計算,輸入 Azure Databricks 計算的 [進階選項]、[JDBC/ODBC] 索引標籤標的 [伺服器主機名] 值。
    • 針對 SQL 倉儲,從 SQL 倉儲的 [連線詳細數據] 索引標籤輸入 [伺服器主機名] 值。
  4. 出現值提示 http_path 時,請執行下列動作:

    • 針對計算,請從 Azure Databricks 計算的 [進階選項]、[JDBC/ODBC] 索引標籤輸入 HTTP 路徑值。
    • 針對 SQL 倉儲,從 SQL 倉儲的 [連線詳細數據] 索引標籤輸入 HTTP 路徑值。
  5. 若要選擇驗證類型,請輸入與 use oauth (建議) 或 use access token對應的數位。

  6. 如果您選擇 use access token 驗證類型,請輸入 Azure Databricks 個人存取令牌的值。

    注意

    作為安全性最佳做法,當您使用自動化工具、系統、腳本和應用程式進行驗證時,Databricks 建議您使用屬於 服務主體 的個人存取令牌,而不是工作區使用者。 若要建立服務主體的令牌,請參閱 管理服務主體的令牌。

  7. 出現值提示 desired Unity Catalog option 時,請輸入與 use Unity Catalognot use Unity Catalog對應的數位。

  8. 如果您選擇使用 Unity 目錄,請在出現提示時輸入所需的值 catalog

  9. 在出現提示時,輸入和 threads 的所需值schema

  10. dbt 會將專案寫入檔案 profiles.yml 。 這個檔案的位置會列在命令的 dbt init 輸出中。 您也可以稍後執行 dbt debug --config-dir 命令來列出此位置。 您現在可以開啟此檔案,以檢查並驗證其內容。

    如果您選擇 use oauth 驗證類型,請將電腦對電腦 (M2M) 或使用者對電腦 (U2M) 驗證設定檔新增至 profiles.yml

    如需範例,請參閱 使用 Microsoft Entra ID 從 dbt Core 設定 Azure Databricks 登入。

    Databricks 不建議直接在 中 profiles.yml 指定秘密。 相反地,將用戶端標識碼和客戶端密碼設定為環境變數。

  11. 在目錄上my_dbt_demo執行 命令來dbt debug確認連線詳細數據。

    如果您選擇 use oauth 驗證類型,系統會提示您使用您的識別提供者登入。

    重要

    開始之前,請先確認您的計算或 SQL 倉儲正在執行中。

    您應該會看到如下輸出:

    cd my_dbt_demo
    dbt debug
    
    ...
    Configuration:
      profiles.yml file [OK found and valid]
      dbt_project.yml file [OK found and valid]
    
    Required dependencies:
      - git [OK found]
    
    Connection:
      ...
      Connection test: OK connection ok
    

下一步

其他資源