共用方式為


使用適用於工作流程的無伺服器計算執行 Azure Databricks 作業

重要

工作流程的無伺服器計算處於 公開預覽狀態。 如需資格和啟用的相關信息,請參閱 啟用無伺服器計算公開預覽

重要

由於工作流程的無伺服器計算公開預覽不支援控制輸出流量,因此您的作業具有因特網的完整存取權。

工作流程的無伺服器計算可讓您執行 Azure Databricks 作業,而不需設定及部署基礎結構。 透過無伺服器計算,您可以專注於實作數據處理和分析管線,而 Azure Databricks 可有效率地管理計算資源,包括優化和調整工作負載的計算。 自動調整和 Photon 會自動針對執行作業的計算資源啟用。

工作流程的無伺服器計算會自動優化計算,方法是根據您的工作負載選取適當的資源,例如實例類型、記憶體和處理引擎。 自動優化也會自動重試失敗的工作。

Databricks 會自動升級 Databricks 運行時間版本,以支援對平臺的增強功能和升級,同時確保 Azure Databricks 作業的穩定性。 若要查看無伺服器計算針對工作流程所使用的目前 Databricks 執行時間版本,請參閱 無伺服器計算版本資訊

由於不需要叢集建立許可權,因此所有工作區使用者都可以使用無伺服器計算來執行其工作流程。

本文說明如何使用 Azure Databricks Jobs UI 來建立和執行使用無伺服器計算的作業。 您也可以使用無伺服器計算搭配作業 API、Databricks 資產套件組合,以及適用於 Python 的 Databricks SDK,將建立和執行作業自動化。

  • 若要瞭解如何使用作業 API 來建立和執行使用無伺服器計算的作業,請參閱 REST API 參考中的作業
  • 若要瞭解如何使用 Databricks 資產組合來建立和執行使用無伺服器計算的作業,請參閱 使用 Databricks Asset Bundle 在 Azure Databricks 上開發作業。
  • 若要瞭解如何使用適用於 Python 的 Databricks SDK 來建立和執行使用無伺服器計算的作業,請參閱 Databricks SDK for Python

需求

  • 您的 Azure Databricks 工作區必須啟用 Unity 目錄。
  • 由於工作流程的無伺服器計算使用 共用存取模式,因此您的工作負載必須支援此存取模式。
  • 您的 Azure Databricks 工作區必須位於支援的區域中。 請參閱 Azure Databricks 區域

使用無伺服器計算建立作業

Notebook、Python 腳本、dbt 和 Python 滾輪 工作類型支援無伺服器計算。 根據預設,當您 建立新作業 並新增其中一個支援的工作類型時,會選取無伺服器計算作為計算類型。

建立無伺服器工作

Databricks 建議針對所有作業工作使用無伺服器計算。 您也可以為作業中的工作指定不同的計算類型,如果工作流程的無伺服器計算不支援工作類型,則可能需要此類型。

將現有的作業設定為使用無伺服器計算

您可以在編輯作業,將現有的作業切換為針對支援的工作類型使用無伺服器計算。 若要切換至無伺服器計算,請:

  • 在 [作業詳細數據] 側邊面板中,按兩下 [計算] 底下的 [交換],按兩下 [新增],輸入或更新任何設定,然後按兩下 [更新]。
  • 按兩下 向下插入號 [ 計算 ] 下拉功能表,然後選取 [無伺服器]。

將工作切換至無伺服器計算

使用無伺服器計算排程筆記本

除了使用作業 UI 建立及排程使用無伺服器計算的作業之外,您還可以直接從 Databricks 筆記本建立和執行使用無伺服器計算的作業。 請參閱 建立和管理排程的筆記本作業

設定 Spark 組態參數

若要在無伺服器計算上自動設定 Spark,Databricks 只允許設定特定的 Spark 組態參數。 如需允許的參數清單,請參閱 支援的Spark組態參數

您只能在工作階段層級設定 Spark 組態參數。 若要這樣做,請在筆記本中設定筆記本,並將筆記本新增至使用參數之相同作業中包含的工作。 請參閱 取得和設定筆記本中的 Apache Spark 組態屬性。

設定筆記本環境和相依性

若要管理筆記本工作的連結庫相依性和環境設定,請將設定新增至筆記本中的數據格。 下列範例會使用 pip install 工作區檔案和 檔案安裝 requirements.txt Python 連結庫,並設定 spark.sql.session.timeZone 會話變數:

%pip install -r ./requirements.txt
%pip install simplejson
%pip install /Volumes/my/python.whl
%pip install /Workspace/my/python.whl
%pip install https://some-distro.net/popular.whl
spark.conf.set('spark.sql.session.timeZone', 'Europe/Amsterdam')

若要跨多個筆記本設定相同的環境,您可以使用單一筆記本來設定環境,然後使用 %run magic命令從任何需要環境設定的筆記本執行該筆記本。 請參閱 使用 %run 匯入筆記本

設定非筆記本工作的環境和相依性

對於其他支援的工作類型,例如 Python 腳本、Python 滾輪或 dbt 工作,默認環境包含已安裝的 Python 連結庫。 若要查看已安裝的連結庫清單,請參閱 Databricks Runtime 版本的版本資訊中的已安裝 Python 連結庫 一節,其中您的無伺服器計算用於工作流程部署的基礎。 若要查看無伺服器計算針對工作流程所使用的目前 Databricks 執行時間版本,請參閱 無伺服器計算版本資訊。 如果工作需要未安裝的 Python 連結庫,您可以從工作區檔案、Unity 目錄磁碟區或公用套件存放庫安裝連結庫。 當您建立或編輯工作時,若要新增連結庫:

  1. 在 [環境和連結庫] 下拉功能表中,單擊 編輯圖示 [預設環境] 旁的 ,或按兩下 [+ 新增環境]。

    編輯預設環境

  2. 在 [設定 環境] 對話框中,按兩下 [ + 新增連結庫]。

  3. 從 [連結庫] 下的下拉功能表中選取相依性類型。

  4. 在 [ 檔案路徑] 文本框中,輸入連結庫的路徑。

  • 針對工作區檔案中的 Python Wheel,路徑應該是絕對路徑,並以 /Workspace/開頭。

  • 針對 Unity 目錄磁碟區中的 Python 轉輪,路徑應該是 /Volumes/<catalog>/<schema>/<volume>/<path>.whl

  • 針對檔案 requirements.txt ,選取 [PyPi],然後輸入 -r /path/to/requirements.txt

    新增工作連結庫

  1. 按兩下 [確認] 或 [+ 新增連結庫] 以新增另一個連結庫。
  2. 如果您要新增工作,請按兩下 [ 建立工作]。 如果您要編輯工作,請按兩下 [ 儲存工作]。

設定無伺服器計算自動優化以禁止重試

工作流程的無伺服器計算自動優化會自動優化用來執行作業和重試失敗作業的計算。 默認會啟用自動優化,Databricks 建議讓其保持啟用狀態,以確保關鍵工作負載至少執行一次。 不過,如果您有最多必須執行一次的工作負載,例如,不是等冪的工作,您可以在新增或編輯工作時關閉自動優化:

  1. [重試] 旁,按兩下 [新增 ] (或 編輯圖示 如果重試原則已經存在)。
  2. 在 [重試原則] 對話框中,取消核取 [啟用無伺服器自動優化] (可能包含其他重試次數)。
  3. 按一下 [確認]
  4. 如果您要新增工作,請按兩下 [ 建立工作]。 如果您要編輯工作,請按兩下 [ 儲存工作]。

監視工作流程使用無伺服器計算的作業成本

您可以查詢 計費使用量系統數據表,以監視使用無伺服器計算工作流程的作業成本。 此資料表已更新,以包含無伺服器成本的使用者和工作負載屬性。 請參閱 計費使用量系統數據表參考

檢視 Spark 查詢的詳細數據

工作流程的無伺服器計算有新的介面,可讓您檢視 Spark 語句的詳細運行時間資訊,例如計量和查詢計劃。 若要檢視在無伺服器計算上執行的作業中包含的 Spark 語句查詢深入解析:

  1. 按兩下 工作流程圖示提要欄位中的 [工作流程 ]。
  2. 在 [ 名稱] 資料行中,按下您想要檢視見解的作業名稱。
  3. 按兩下您想要檢視見解的特定執行。
  4. 在 [工作執行端] 面板的 [計算] 區段中,按兩下 [查詢歷程記錄]。
  5. 系統會根據您位於的工作執行標識碼,將您重新導向至查詢歷程記錄。

如需使用查詢記錄的資訊,請參閱 查詢記錄

限制

如需工作流程限制的無伺服器計算清單,請參閱 無伺服器計算版本資訊中的無伺服器計算限制