使用適用於工作流程的無伺服器計算來執行 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。
由於適用於工作流程的無伺服器計算使用共用存取模式,因此您的工作負載必須支援此存取模式。
您的 Azure Databricks 工作區必須位於受支援區域。 請參閱<區域可用性有限的功能>。
您的 Azure Databricks 帳戶必須啟用無伺服器計算。 請參閱啟用無伺服器計算。
使用無伺服器計算建立工作
注意
由於適用於工作流程的無伺服器計算可確保佈建足夠的資源來執行工作負載,因此在執行需要大量記憶體或包含許多任務的 Azure Databricks 工作時,您可能會遇到啟動時間增加的情況。
Notebook、Python 指令、dbt 和 Python Wheel 任務類型支援無伺服器計算。 根據預設,當您建立新工作並新增其中一個支援的任務類型時,會選取無伺服器計算作為計算類型。
Databricks 建議針對所有工作任務使用無伺服器計算。 您也可以為工作中的任務指定不同的計算類型,如果適用於工作流程的無伺服器計算不支援某個任務類型,則可能需要此類型。
將現有的工作設定為使用無伺服器計算
您可以在編輯工作時,將現有的工作切換為針對支援的任務類型使用無伺服器計算。 若要切換至無伺服器計算,請執行以下操作:
- 在 [工作詳細資料] 側面板中,按一下 [計算] 底下的 [交換],按一下 [新增],輸入或更新任何設定,然後按一下 [更新]。
- 按一下 [計算] 下拉式功能表中的 ,然後選取 [無伺服器]。
使用無伺服器計算排程筆記本
除了使用工作 UI 來建立及排程可使用無伺服器計算的工作之外,您還可以直接從 Databricks 筆記本建立和執行可使用無伺服器計算的工作。 請參閱建立及管理排程作業。
選取無伺服器使用量的預算原則
重要
這項功能處於公開預覽狀態。
預算原則可讓您的組織在無伺服器使用量上套用自定義標籤,以取得細微的計費屬性。
如果您的工作區使用預算原則來屬性無伺服器使用量,您可以使用作業詳細數據 UI 中的預算原則設定來選取作業的預算原則。 如果您只指派給一個預算原則,系統會自動為您的新作業選取原則。
注意
指派預算原則之後,現有的作業不會自動標記您的原則。 如果您想要將原則附加至現有作業,則必須手動更新這些作業。
如需預算原則的詳細資訊,請參閱 使用預算原則的屬性無伺服器使用量。
設定 Spark 組態參數
若要在無伺服器計算上自動設定 Spark,Databricks 只允許設定特定的 Spark 組態參數。 如需允許的參數清單,請參閱支援的 Spark 組態參數。
您只能在工作階段層級設定 Spark 組態參數。 為此,請在筆記本中進行設定,並將筆記本新增至使用這些參數的相同工作中包含的任務中。 請參閱在筆記本取得和設定 Apache Spark 組態屬性。
設定環境和相依性
若要了解如何使用無伺服器計算來安裝程式庫和相依性,請參閱安裝筆記本相依性。
設定無伺服器計算自動最佳化,以禁止重試
適用於工作流程的無伺服器計算自動最佳化會自動最佳化用來執行工作和重試失敗任務的計算。 預設會啟用自動最佳化,因此 Databricks 建議讓其保持啟用狀態,以確保關鍵性工作負載可至少執行一次。 不過,如果您有必須最多僅執行一次的工作負載 (例如,非等冪工作作),您可以在新增或編輯任務時關閉自動最佳化:
- 在 [重試] 旁邊,按一下 [新增] (或 ,如果已存在重試原則)。
- 在 [重試原則] 對話方塊中,取消選取 [啟用無伺服器自動最佳化 (可能包含其他重試)]。
- 按一下 [確認]。
- 如果您要新增任務,請按一下 [建立任務]。 如果您要編輯任務,請按一下 [儲存任務]。
監視使用適用於工作流程的無伺服器計算的工作成本
您可以查詢計費使用量系統資料表,來監視使用適用於工作流程的無伺服器計算的工作成本。 此資料表已更新,包含有關無伺服器成本的使用者和工作負載屬性。 請參閱計費使用量系統資料表參考。
如需目前定價和任何促銷的資訊,請參閱 工作流程定價頁面。
檢視 Spark 查詢的詳細資料
適用於工作流程的無伺服器計算有新的介面,可讓您檢視 Spark 陳述式的詳細執行階段資訊,例如計量和查詢計劃。 若要檢視在無伺服器計算上執行的工作中包含的 Spark 陳述式查詢深入解析:
- 按一下側邊欄中的 [工作流程]。
- 在 [名稱] 資料行中,按一下您想要檢視深入解析的工作名稱。
- 按一下您想要檢視深入解析的特定執行。
- 在 [任務執行] 側面板的 [計算] 區段中,按一下 [查詢歷史記錄]。
- 隨即會根據您所處的任務的任務執行識別碼,將您重新導向至 [查詢歷史記錄]。
如需使用查詢歷史記錄的資訊,請參閱查詢歷史記錄。
限制
如需適用於工作流程的無伺服器計算的限制清單,請參閱無伺服器計算版本資訊中的無伺服器計算限制。