在上一篇文章中,我們探討了dbt 和 Databricks 如何合作。我們現在將回顧 dbt Cloud 的一個特定功能 – dbt Cloud Jobs並示範如何使用Databricks 工作流程來實現相同的功能。
如果您使用 dbt-core 和 Databricks 作為資料平台,本文可以概述如何建立您自己的 dbt 作業。此外,它還提供了有關何時選擇 dbt Cloud 作業而不是 Databricks 工作流程的指南,反之亦然。
了解 dbt 雲端作業
dbt 雲端作業是在dbt 環境中執行 dbt 指令集合的解決方案。這些作業消除了從命令列手動執行 dbt 命令的情況,提供了處理資料轉換的簡化方法。 dbt 雲端作業有兩種主要類型:部署作業和持續整合(CI) 作業,每種作業都針對不同的使用案例。
部署作業專為建構生產
數據資產而設計。
在生產環境中執行,具有觸發器,例如計劃運行和完成另一個作業(作業鏈)時執行。
確保受控部署過程的順序執行。
持續整合 (CI) 職位
設計用於在合併到生產前建
置和測試新的 dbt 程式碼。
透過在連結到 dbt 雲端專案的 Git 儲存庫中開啟或更新拉取請求來觸發。
在專用環境中針對臨時 阿聯酋 WhatsApp 號碼數據 資料庫運行,並行運行以實現有效協作。
透過使用具有唯一命名約定的臨時模式來保持隔離。
dbt Cloud 讓定義 dbt Cloud Deploy和CI作業變得簡單。
dbt雲端作業我的第一份 dbt 雲
工作,來源:dbt 雲
Databricks 職位
如果您在專案中使用dbt-core而不是 dbt Cloud,並且您的資料平台是 Databricks,您可能會想,“我可以運行 dbt-core 作業嗎?”令人興奮的消息是您絕對可以!這篇文章將引導您了解如何利用 Databricks 工作流程來實現這一目標。
Databricks 工作流程:它們是什麼?
Databricks Workflows 為 Databricks 平台上的資料處理、機器學習和分析管道提供了完全託管的編排服務。這些工作流程可讓您建立能 如何實施有效的公共關係策略? 夠執行不同任務的作業,以實施您的資料處理和分析工作流程。作業中的任務可以執行筆記本、Spark 提交作業、SQL 查詢、Python 應用程式、dbt 轉換等。作業包含一項或多項任務,允許控制其順序及其執行模式:並行或順序。
dbt 任務的力量
Databricks 提供的一種任務類型是dbt 任務,它是一種將 dbt 轉換無縫整合到工作流程中的工具。請記住此任務類型,因為它構成了我們即將建置的 dbt 核心作業的基本建置區塊。
建立您的第一個 Databricks dbt 作業
若要建立 Databricks dbt 作業,請遵 香港新聞 循 Databricks 關於將 dbt 轉換合併到 Databricks 作業中的指南。初始設定涉及定義包含單一 dbt 任務的 Databricks 作業,如下例所示。
建立您的第一個 Databricks dbt 作業
資料來源:Databricks
此 Databricks 作業包含一個 dbt 任務,利用範例jaffle_shop dbt 專案。該任務執行三個 dbt 指令:
deps:從 Git 中提取最新版本的專案相依性。
種子:載入位於範例專案的種子路徑目錄中的 CSV 文件,確保轉換的原始資料可用性。
run:針對作業中定義的
倉庫目錄和架構執行已編譯的 SQL 模型程式碼。
在建立我的第一個 Databricks dbt 作業時,我的任務是確定 Databricks 作業是否可以涵蓋 dbt Cloud 作業的每個關鍵功能,或者 dbt Cloud 作業是否比 Databricks dbt 作業提供了顯著的附加價值。下一節總結了我比較這兩種工作的結論。