使用適用於工作流程的無伺服器計算來執行 Azure Databricks 工作
工作流程的無伺服器計算可讓您執行 Azure Databricks 工作,而不需設定及部署基礎結構。 透過無伺服器計算,您可以專注於實作資料處理和分析管線,而 Azure Databricks 可高效地管理計算資源,包括最佳化和調整工作負載的計算。 自動調整和 Photon 會自動啟用於執行您工作的計算資源。
工作流程的無伺服器計算會自動持續優化基礎結構,例如實例類型、記憶體和處理引擎,以確保根據工作負載的特定處理需求獲得最佳效能。
Databricks 會自動升級 Databricks Runtime 版本,以支援對平台的增強功能和升級,同時確保 Azure Databricks 工作的穩定性。 若要查看適用於工作流程的無伺服器計算目前使用的 Databricks Runtime 版本,請參閱無伺服器計算版本資訊。
由於不需要叢集建立權限,因此所有工作區使用者都可以使用無伺服器計算來執行其工作流程。
本文說明如何使用 Azure Databricks 工作 UI 來建立和執行使用無伺服器計算的工作。 您還可以使用工作 API、Databricks Asset Bundles 和適用於 Python 的 Databricks SDK,自動化利用無伺服器計算建立和執行工作。
- 若要了解如何使用工作 API 來建立和執行可使用無伺服器計算的工作,請參閱 REST API 參照中的工作。
- 若要了解如何使用 Databricks Asset Bundles 來建立和執行可使用無伺服器計算的工作,請參閱使用 Databricks Asset Bundles 在 Azure Databricks 上開發工作。
- 若要了解如何使用適用於 Python 的 Databricks SDK 來建立和執行可使用無伺服器計算的工作,請參閱適用於 Python 的 Databricks SDK。
需求
- 您的 Azure Databricks 工作區必須啟用 Unity Catalog。
- 由於無伺服器計算用於工作流程使用 標準存取模式,因此您的工作負載必須支援這種存取模式。
- Databricks 工作區必須位於支持的區域中。 請參閱<區域可用性有限的功能>。
- 您的 Azure Databricks 帳戶必須啟用無伺服器計算。 請參閱啟用無伺服器計算。
使用無伺服器運算建立任務
注意
由於適用於工作流程的無伺服器計算可確保佈建足夠的資源來執行工作負載,因此在執行需要大量記憶體或包含許多任務的 Azure Databricks 工作時,您可能會遇到啟動時間增加的情況。
Notebook、Python 指令、dbt 和 Python Wheel 任務類型支援無伺服器計算。 根據預設,當您建立新工作並新增其中一個支援的任務類型時,會選取無伺服器計算作為計算類型。
Databricks 建議針對所有工作任務使用無伺服器計算。 您也可以為工作中的任務指定不同的計算類型,如果適用於工作流程的無伺服器計算不支援某個任務類型,則可能需要此類型。
若要管理作業的輸出網路連線,請參閱 什麼是無伺服器輸出控制?
將現有的工作設定為使用無伺服器計算
您可以在編輯工作時,將現有的工作切換為針對支援的任務類型使用無伺服器計算。 若要切換至無伺服器計算,請執行以下操作:
- 在 [工作詳細資料] 側面板中,按一下 [計算] 底下的 [交換],按一下 [新增],輸入或更新任何設定,然後按一下 [更新]。
- 按一下 [計算] 下拉式選單中的下箭頭符號,然後選取 [無伺服器]。
使用無伺服器計算來排程筆記本
除了使用工作 UI 來建立及排程可使用無伺服器計算的工作之外,您還可以直接從 Databricks 筆記本建立和執行可使用無伺服器計算的工作。 請參閱建立及管理排程 Notebook 作業。
選取無伺服器使用量的預算原則
重要
這項功能處於公開預覽狀態。
預算政策可讓您的組織在無伺服器使用量上套用自訂標籤,以達到精細計費歸屬。
如果您的工作區使用預算原則來管理無伺服器的使用情況,您可以在作業詳細資料的 UI 中使用「預算原則」設定來選取作業的預算原則。 如果您只被分配到一個預算政策,系統會自動為您的新作業選擇此政策。
注意
在分配預算政策後,現有工作不會自動與您的預算政策關聯。 若您想將原則附加到現有作業上,就必須手動更新這些作業。
如需預算原則的詳細資訊,請參閱 將無伺服器使用量歸因於預算原則。
設定 Spark 組態參數
若要在無伺服器計算上自動設定 Spark,Databricks 只允許設定特定的 Spark 組態參數。 如需允許的參數清單,請參閱支援的 Spark 組態參數。
您只能在工作階段層面設定 Spark 組態參數。 為此,請在筆記本中進行設定,並將筆記本新增至使用這些參數的相同工作中包含的任務中。 請參閱在筆記本取得和設定 Apache Spark 組態屬性。
設定環境和相依性
若要瞭解如何使用無伺服器計算來安裝連結庫和相依性,請參閱 安裝筆記本相依性。
為筆記本工作設定高記憶體
重要
這項功能處於公開預覽狀態。
您可以將筆記本工作設定為使用較高的記憶體大小。 若要這樣做,請在筆記本 環境 側面板中設定 Memory 設定。 請參閱 為無伺服器工作負載設定高記憶體。
高記憶體僅適用於筆記本工作類型。
設定無伺服器計算自動最佳化,以禁止重試
適用於工作流程的無伺服器計算自動最佳化會自動最佳化用來執行工作和重試失敗任務的計算。 預設會啟用自動最佳化,因此 Databricks 建議讓其保持啟用狀態,以確保關鍵性工作負載可至少執行一次。 不過,如果您有必須最多僅執行一次的工作負載 (例如,非等冪工作作),您可以在新增或編輯任務時關閉自動最佳化:
- 在 [重試] 旁邊,單擊 [新增] (或者如果已存在重試原則,按
)。
- 在 [重試原則] 對話方塊中,取消選取 [啟用無伺服器自動最佳化 (可能包含其他重試)]。
- 按一下 [確認]。
- 如果您要新增任務,請按一下 [建立任務]。 如果您要編輯任務,請按一下 [儲存任務]。
監視使用適用於工作流程的無伺服器計算的工作成本
您可以透過查詢計費使用量系統資料表,來監控使用無伺服器計算的工作流程成本。 此資料表已更新,包含有關無伺服器成本的使用者和工作負載屬性。 請參閱計費使用量系統資料表參考。
如需目前定價和任何促銷的資訊,請參閱 工作流程定價頁面。
檢視作業執行的查詢詳細數據
您可以檢視 Spark 語句的詳細運行時間資訊,例如計量和查詢計劃。
若要從作業 UI 存取查詢詳細資料,請使用下列步驟:
按一下側邊欄中的
[工作流程]。
按兩下您要檢視之作業的名稱。
按一下您想要檢視的特定項目。
點擊時程表以時間軸方式檢視運行,並劃分為各個任務。
按兩下工作名稱旁的箭號,以顯示查詢語句及其運行時間。
具有多個查詢語句及其執行時間的工作,顯示在作業 UI 的時間軸檢視中。
按下 語句以開啟 查詢詳細數據 面板。 請參閱 檢視查詢詳細數據 ,以深入瞭解此面板中可用的資訊。
若要檢視工作的查詢歷程記錄:
- 在 [任務執行] 側面板的 [計算] 區段中,按一下 [查詢歷史記錄]。
- 您會被重新導向到依據您所在任務的執行識別碼預先篩選過的 [查詢歷史記錄]。
如需使用查詢歷程記錄的詳細資訊,請參閱 存取 DLT 管線的查詢歷程記錄 和 查詢歷程記錄。
限制
如需適用於工作流程的無伺服器計算的限制清單,請參閱無伺服器計算版本資訊中的無伺服器計算限制。