Databricks 資產套件組合,簡稱為 bundles,可讓您以程式設計方式驗證、部署和執行 Azure Databricks 資源,如 Lakeflow 宣告式管線。 請參閱 什麼是 Databricks 資產套件組合?。
本文說明如何建立套件組合,以程式設計方式管理管線。 請參閱 Lakeflow 宣告式管線。 套件組合是使用適用於 Python 的 Databricks 資產套件組合預設套件組合範本建立的,其中包含一個筆記本,以及用於執行它的管線和工作定義。 接著,您會在 Azure Databricks 工作區中驗證、部署和執行已部署的管線。
提示
如果您有使用想要移至套件組合的 Azure Databricks 使用者介面或 API 建立的現有管線,則必須在套件組合的組態檔中定義它們。 Databricks 建議您先使用下列步驟建立套件組合,然後驗證套件組合是否運作。 接著,您可以將其他定義、筆記本和其他來源新增至套件組合。 請參閱 使用UI擷取現有的管線定義。
需求
- Databricks CLI 0.218.0 版或更新版本。 若要檢查您已安裝的 Databricks CLI 版本,請執行命令
databricks -v
。 若要安裝 Databricks CLI,請參閱 安裝或更新 Databricks CLI。 - 遠端工作區必須已啟用工作區檔案。 請參閱 什麼是工作區檔案?。
(選用)安裝 Python 模組以支援本機管線開發
Databricks 提供 Python 模組,透過在 IDE 中撰寫程式代碼時提供語法檢查、自動完成和資料類型檢查,協助您本機開發 Lakeflow 宣告式管線程序代碼。
適用於本機開發的 Python 模組可在 PyPi 上使用。 若要安裝模組,請參閱 適用於 Lakeflow 宣告式管線的 Python 存根。
使用專案範本建立套件組合
使用適用於 Python 的 Azure Databricks 預設套件組合範本建立套件組合。 此範本包含一個筆記本,其會定義 ETL 管線(使用 Lakeflow 宣告式管線),以篩選來自原始數據集的數據。 如需套件組合範本的詳細資訊,請參閱 Databricks Asset Bundle 項目範本。
如果您想要從頭開始建立套件組合,請參閱 手動建立套件組合。
步驟 1:設定驗證
在此步驟中,您會在開發機器上的 Databricks CLI 與 Azure Databricks 工作區之間設定驗證。 本文假設您想要使用 OAuth 使用者對機器 (U2M) 驗證,以及名為 DEFAULT
的對應 Azure Databricks 組態設定檔進行驗證。
注意
U2M 驗證適用於即時試用這些步驟。 針對完全自動化的工作流程,Databricks 建議您改用 OAuth 機器對機器 (M2M) 驗證。 請參閱 使用 OAuth 以服務主體授權 Azure Databricks 資源的無人值守存取中的 M2M 驗證設置說明。
針對每個目標工作區執行下列命令,使用 Databricks CLI 在本機起始 OAuth 令牌管理。
在下列命令中,將 取代
<workspace-url>
為您的 Azure Databricks 個別工作區 URL,例如https://adb-1234567890123456.7.azuredatabricks.net
。databricks auth login --host <workspace-url>
Databricks CLI 會提示您將輸入的資訊儲存為 Azure Databricks 設定檔。 按
Enter
以接受建議的設定檔名稱,或輸入新或現有設定檔的名稱。 任何具有相同名稱的現有設定檔,會以您輸入的資訊覆寫。 您可使用設定檔,在多個工作區之間快速切換身份驗證。若要取得任何現有設定檔的清單,請在個別的終端機或命令提示字元中,使用 Databricks CLI 執行命令
databricks auth profiles
。 若要檢視特定設定檔的現有設定,請執行 命令databricks auth env --profile <profile-name>
。在網頁瀏覽器中,完成畫面上的指示,登入 Azure Databricks 工作區。
若要檢視配置檔目前的 OAuth 令牌值和令牌即將到期的時間戳,請執行下列其中一個命令:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
如果您有多個具有相同
--host
值的設定檔,您可能需要一起指定--host
和-p
選項,以協助 Databricks CLI 尋找正確的相符 OAuth 權杖資訊。
步驟 2:建立套件組合
使用預設的 Python 套件組合專案範本初始化套件組合。
注意
預設 Python 樣本需要 uv
安裝。 請參閱 安裝 uv。
使用終端機或命令提示字元,切換至本機開發計算機上的目錄,其中包含範本產生的套件組合。
使用 Databricks CLI 執行
bundle init
命令:databricks bundle init
要針對
Template to use
保留default-python
的預設值,請按Enter
。針對
Unique name for this project
,保留my_project
的預設值,或輸入不同的值,然後按Enter
。 這會決定此套件組合的根目錄名稱。 此根目錄是在您目前的工作目錄中建立的。針對
Include a stub (sample) notebook
,選取no
並按Enter
。 這會指示 Databricks CLI 目前不要新增範例筆記本,因為與此選項相關聯的範例筆記本中沒有 Lakeflow 宣告式管線程序代碼。要針對
Include a stub (sample) Delta Live Tables pipeline
保留yes
的預設值,請按Enter
。 這會指示 Databricks CLI 新增包含 Lakeflow 宣告式管線程式代碼的範例筆記本。針對
Include a stub (sample) Python package
,選取no
並按Enter
。 這會指示 Databricks CLI 不要將範例 Python Wheel 套件檔案或相關的建置指示新增至套件組合。針對
Use serverless
,選取yes
並按Enter
。 這會指示 Databricks CLI 將套件組合設定為在無伺服器計算上執行。
步驟 3:探索套件組合
若要檢視範本產生的檔案,請切換至新建立套件組合的根目錄。 特別值得注意的檔案如下所示:
-
databricks.yml
:此檔案會指定套件組合的程式設計名稱、包含管線定義的參考,以及指定目標工作區的相關設定。 -
resources/<project-name>_job.yml
和resources/<project-name>_pipeline.yml
:這些檔案會定義包含管線重新整理工作的作業,以及管線的設定。 -
src/dlt_pipeline.ipynb
:此檔案是運行管線時所使用的筆記本。
若要自定義管線,管線宣告內的對應會對應至建立管線作業的要求承載,如 REST API 參考中的 POST /api/2.0/pipelines 中所定義,以 YAML 格式表示。
步驟 4:驗證專案的套件組合組態檔
在此步驟中,您會檢查套件組合設定是否有效。
從根目錄,使用 Databricks CLI 執行
bundle validate
命令,如下所示:databricks bundle validate
如果傳回套件組合設定的摘要,則驗證成功。 如果傳回任何錯誤,請修正錯誤,然後重複此步驟。
如果您在此步驟後對套件組合進行任何變更,您應該重複此步驟,以檢查套件組合設定是否仍然有效。
步驟 5:將本地專案部署到遠端工作區
在此步驟中,您會將本機筆記本部署至遠端 Azure Databricks 工作區,並在工作區內建立管線。
從套件組合根目錄,使用 Databricks CLI 執行
bundle deploy
命令,如下所示:databricks bundle deploy -t dev
檢查是否已部署本機筆記本:在 Azure Databricks 工作區的側邊欄中,點擊 工作區。
點擊進入 Users >
<your-username>
>.bundle ><project-name>
> dev > files > src 資料夾。 筆記本應該位於此資料夾中。檢查您的管線是否已建立:
- 在 Azure Databricks 工作區的側邊欄中,點擊 作業和管線。
- 或者,選取 [ 管線 ] 和 [我所擁有的 篩選]。
- 點擊 [dev
<your-username>
]<project-name>
_pipeline。
如果您在此步驟後對套件組合進行任何變更,您應該重複步驟 4-5,以檢查套件組合設定是否仍然有效,然後重新部署專案。
步驟 6:執行部署的專案
在此步驟中,您會從命令行觸發工作區中的管線執行。
從根目錄,使用 Databricks CLI 執行
bundle run
命令 (如下所示),將<project-name>
取代 為步驟 2 中的專案名稱:databricks bundle run -t dev <project-name>_pipeline
複製終端機中顯示的
Update URL
的值,並將此值貼到您的網頁瀏覽器中,以開啟您的 Azure Databricks 工作區。在 Azure Databricks 工作區中,在管線順利完成之後,按兩下 [taxi_raw 檢視] 和 [filtered_taxis 具體化檢視],以查看詳細數據。
如果您在此步驟後對套件組合進行任何變更,您應該重複步驟 4-6,以檢查套件組合設定是否仍然有效,重新部署專案並執行重新部署的專案。
步驟 7:清理
在此步驟中,您會從工作區中刪除已部署的筆記本和管線。
從根目錄,使用 Databricks CLI 執行
bundle destroy
命令,如下所示:databricks bundle destroy -t dev
確認管線刪除請求:當提示您永久刪除資源時,請輸入
y
並按Enter
。確認筆記本刪除要求:提示您永久終結先前部署的資料夾及其所有檔案時,請輸入
y
並按Enter
。如果您也想要從開發電腦刪除該套件組,您現在可以刪除第 2 步中建立的本機目錄。