本文列出關於宣告式自動化套件(前稱 Databricks 資產套件)的常見問題。
為什麼 Databricks 資產套件會被改名為宣告式自動化套件?
新名稱「宣告式自動化套件」更準確反映套件的使用與功能。 此外,資產 這個詞在 Databricks 中有多重含義,造成了一些混淆。 這次改名是不破壞的。
bundle CLI 指令和你所有現有的設定都不需要修改。
我該如何在 Azure Databricks 上使用 Declarative Automation Bundles 作為 CI/CD 管線的一部分?
您可以使用 宣告式自動化套件(Declarative Automation Bundles )來定義並程式化管理 Azure Databricks CI/CD 實作中的資產,通常包含:
- 筆記本:Azure Databricks 筆記本通常是數據工程和數據科學工作流程的重要部分。 您可以使用筆記本的版本控制,也可以在 CI/CD 管線中驗證和測試它們。 您可以對筆記本執行自動化測試,以檢查它們是否如預期般運作。
- 程式庫:管理執行已部署程式碼所需的 程式庫相依性 。 對程式庫使用版本控制,並將其包含在自動化測試和驗證中。
- 工作流程: Lakeflow 作業 所包含的作業可讓您使用筆記本或 Spark 作業來排程和執行自動化工作。
- 資料管線:你也可以在 CI/CD 自動化中加入資料管線,使用 Lakeflow 管線 來宣告資料管線。
- 基礎架構:基礎架構組態包括目標環境之叢集、工作區及儲存體的定義和佈建資訊。 基礎設施變更可以作為 CI/CD 管道的一部分進行驗證和測試,確保它們一致且無錯誤。
為什麼我需要有個別的開發與生產目標環境?
不同的開發和產品環境可讓您:
- 安全地隔離開發變更,以免意外影響生產環境。
- 藉由自定義要套用至特定目標環境的資源,以防止程式代碼重複。
- 使用環境特定設定來簡化 CI/CD,例如資料庫路徑、警示和訪問控制。
- 跨小組和環境重複使用工作流程。
使用目標來定義配套部署環境。 請參閱 目標。
如何使我的套件組合在整個組織中保持一致?
使用套件組合範本進行一致的結構、減少安裝錯誤,以及提升最佳做法。 您可以使用預設套件組合範本,也可以建立自己的自定義套件組合範本。 請參閱 宣告式自動化套件專案範本。
我的套件組合有許多重複,例如相同的叢集定義。 處理此作業的最佳方式為何?
自定義變數是處理重複專案的最佳方式,以及內容特定的設定。 請參閱 自定義變數。
在部署流程中使用套件組合時,有哪些最佳做法?
Databricks 建議您:
- 使用 Git 整合的工作流程,從手動部署移轉至可靠的自動化。
- 在使用
databricks bundle validate在 CI/CD 管線中部署套件組合之前先進行驗證。 - 分離部署步驟,以確保變更被審核且是有意的。
- 將(開發、預備、生產)環境參數化,並使用覆寫功能以隔離變更。
- 在部署後執行整合測試,以提早攔截問題。
- 使用 GitHub Actions、Azure DevOps 或 GitLab CI 來觸發提交或 Pull Request (PR) 合併後的進行部署。
- 追蹤部署的內容、位置和時間,確保每次部署都映射至提交和包版本。
我要如何將套件部署從 /Workspace/Shared 移出?
將套件部署到你或你的團隊擁有的地點,而非 /Workspace/Shared所有工作空間使用者都能存取的地點,這樣你才能套用最低權限權限。 要移動現有部署:
- 將目標的
root_path從/Workspace/Shared/...變更為專屬位置,例如/Workspace/Users/${workspace.current_user.userName}/.bundle/${bundle.name}/${bundle.target}或團隊擁有的資料夾。 此欄位設於目標上的workspace底下,例如workspace.root_path。 - 確認該組合定義了一個
permissions區段,讓正確的身份在新地點保持存取權。 如果沒有,請新增一個規則,將CAN_MANAGE授予擁有該資源的團隊,並將CAN_VIEW授予users群組;如果資源應讓所有人都可檢視,請這麼做。 - 使用
databricks bundle deploy -t <target>重新部署,或讓你的 CI/CD 管線部署這項變更。 要先預覽變更,請執行databricks bundle plan -t <target>。
對於正式環境部署,請以服務主體身分部署至團隊所擁有的路徑。 請參閱「指定宣告式自動化套件工作流程的執行身分」及「宣告式自動化套件部署模式」。
我可以將現有的作業、管線、儀錶板和其他 Databricks 物件移植到我的套件組合嗎?
是的。 使用 databricks bundle generate 指令為本機套件中現有的作業、管道或儀表板生成配置文件,然後使用 databricks bundle deployment bind 綁定該套件資源到工作區中的相應資源。 將現有的工作流程引入結構化和版本化的開發是理想的選擇。 系結也會將相對路徑解析為絕對工作區參考,以避免路徑錯誤。
請參閱 將現有的資源遷移至套件組合。
如何反覆測試我的套件組合?
您可以使用反覆部署和執行,更快速地開發:
- 部署前先驗證
- 以累加方式部署
- 只執行所需的專案
- 編輯和重複
這會加速測試和偵錯、減少上下文切換、在不進行完整重新部署的情況下,促進更安全且更快速的迭代,並在您移至生產環境時強化紀律。