共用方式為


計算組態參考

注意

本文的組織假設您使用的是簡單的表單計算 UI。 如需簡單表單更新的概觀,請參閱 使用簡單表單來管理計算

本文說明建立新的所有用途或作業計算資源時可用的組態設定。 大部分使用者使用其指派的原則來建立計算資源,這會限制可設定的設定。 如果沒有在 UI 中看到特定設定,這是因為您選取的原則不允許您設定該設定。

簡單計算表單

本文所述的組態和管理工具適用於全用途和工作計算。 如需了解設定作業計算的更多考量,請參閱設定作業的計算

建立新的全用途計算資源

若要建立新的全用途計算資源,請執行以下操作:

  1. 在工作區側邊欄中,按下 [計算]
  2. 請點擊建立計算按鈕。
  3. 設定計算資源。
  4. 點擊 建立

您的新計算資源會自動開始運轉,很快就可以使用。

計算原則

原則是一組規則,用於限制使用者建立計算資源時可用的組態選項。 如果使用者沒有不受限制的叢集建立權利,就只能使用其被授與的原則來建立計算資源。

若要根據原則建立計算資源,請從 [原則] 下拉式功能表中選取原則。

依預設,所有使用者都可以存取個人計算原則,讓他們建立單一電腦計算資源。 若需要使用 Personal Compute 或任何其他政策,請聯絡工作區管理員。

效能設定

下列設定會出現在簡單表單計算 UI 的 [效能] 區段底下:

Databricks Runtime 版本

Databricks Runtime 是在您的計算上執行的一組核心元件。 透過 [Databricks Runtime 版本] 下拉選單來選擇執行階段。 如需特定 Databricks Runtime 版本的詳細資料,請參閱 Databricks Runtime 版本資訊版本與相容性。 所有版本都包含 Apache Spark。 Databricks 建議如下:

  • 對於全用途計算,請使用最新版本,以確保程式碼與預先載入的套件之間具有最新的最佳化和最新的相容性。
  • 請考慮使用長期支援 (LTS) 的 Databricks Runtime 版本來運行操作性工作負載的計算任務。 使用 LTS 版本可確保您不會遇到相容性問題,並且可以在升級之前徹底測試工作負載。
  • 對於資料科學和機器學習使用案例,請考慮 Databricks Runtime ML 版本。

使用 Photon 加速

Photon 預設會啟用在執行 Databricks Runtime 9.1 LTS 及以上版本的計算上。

若要啟用或停用 Photon 加速,請選取 [使用 Photon 加速] 核取方塊。 若要深入了解 Photon,請參閱什麼是 Photon?

工作節點類型

計算資源由一個驅動程式節點以及零個或多個背景工作角色節點組成。 您可以為驅動程式和背景工作角色節點挑選不同的雲端提供者執行個體類型,不過依預設,驅動程式節點會使用與背景工作角色節點相同的執行個體類型。 驅動程式節點設定位於 [進階效能] 區段下方。

不同的執行個體類型系列適用不同的使用案例,例如記憶體密集型工作負載或計算密集型工作負載。 可以選擇用作運算節點或主節點的集區。

重要

請勿使用集區搭配現成實例作為驅動程序類型。 選取隨選驅動程式類型,以防止回收您的驅動程式。 請參閱連線至集區

在多節點計算中,背景工作角色節點會執行 Spark 執行程式和計算資源正常運作所需的其他服務。 當您使用 Spark 分配工作負載時,所有的分散式處理會發生在工作節點上。 Azure Databricks 會對每個工作節點執行一個執行程式。 因此,「執行程式」和「背景工作角色」詞彙會在 Databricks 架構的內容中交替使用。

提示

若要執行 Spark 工作,您至少需要一個工作節點。 如果計算資源沒有工作者,您可以在驅動節點上執行非 Spark 命令,但 Spark 命令會失敗。

工作者節點 IP 位址

Azure Databricks 會啟動具有兩個私有 IP 位址的工作節點。 節點的主要私人 IP 位址承載 Azure Databricks 內部流量。 Spark 容器會使用次要私人 IP 位址進行叢集內部通訊。 此模型可讓 Azure Databricks 在同個工作區中的多個計算資源之間提供隔離。

GPU 執行個體類型

對於需要高效能、在計算方面具有挑戰性的工作 (例如與深度學習關聯的工作),Azure Databricks 支援以圖形處理器 (GPU) 加速的計算資源。 如需詳細資訊,請參閱啟用 GPU 的計算

Azure 機密運算虛擬機器

Azure 機密運算 VM 類型可防止未經授權存取使用中的資料,即使是來自雲端業者的存取。 此 VM 類型有利於受到嚴格管制的產業和區域,以及在雲端有敏感資料的企業。 如需 Azure 機密運算的詳細資訊,請參閱 Azure 機密運算

若要使用 Azure 機密運算 VM 執行工作負載,請在背景工作角色和驅動程式節點下拉式清單中選取 DC 或 EC 系列 VM 類型。 請參閱 Azure 機密 VM 選項

單一節點計算

[單一節點] 複選框可讓您建立單一節點計算資源。

單一節點計算適用於使用少量資料或非分散式工作負載的工作,例如單一節點機器學習資源庫。 多節點計算應該用於具有分散式工作負載的較大工作。

單一節點屬性

單一節點計算資源具有以下屬性:

  • 在本機執行 Spark。
  • 驅動程式既是主節點又是工作節點,沒有工作節點。
  • 在計算資源中,針對每個邏輯核心產生一個執行程式執行緒,並減去驅動程式的 1 個核心。
  • 將所有 stderrstdoutlog4j 記錄輸出儲存在驅動程式記錄中。
  • 無法轉換為多節點計算資源。

選取單一或多節點

在決定選取單節點計算還是多節點計算時,請考慮您的使用案例:

  • 大規模資料處理會耗盡單一節點計算資源上的資源。 對於這些工作負載,Databricks 建議使用多節點計算。

  • 單節點計算並不是為了共用而設計的。 為避免資源衝突,Databricks 建議在必須共用計算時使用多節點計算資源。

  • 多節點計算資源無法調整為 0 個工作節點。 請改用單一節點計算。

  • 單一節點計算與處理序隔離不相容。

  • 單一節點的計算環境未啟用 GPU 排程。

  • 在單一節點計算中,Spark 無法讀取具有 UDT 資料行的 Parquet 檔案。 以下是錯誤訊息:

    The Spark driver has stopped unexpectedly and is restarting. Your notebook will be automatically reattached.
    

    若要解決此問題,請停用原生 Parquet 讀取器:

    spark.conf.set("spark.databricks.io.parquet.nativeReader.enabled", False)
    

啟用自動調整

勾選[啟用自動調整] 時,您可以為計算資源提供工人的最小數和最大數。 然後,Databricks 會選擇執行工作所需的適當工作者數目。

若要設定計算資源的工人數自動調整的最小和最大值,請使用 [Min] 和 [Max] 欄位,位於 [工人類型] 下拉式選單旁。

如果未啟用自動調整規模,您必須在 [工作者類型] 下拉式清單旁邊的 [工作者] 欄位中輸入固定數目的工作者。

注意

當計算資源執行時,計算詳細資料頁面會顯示已配置的工作者數目。 您可以將分配的工作者數目與工人配置進行比較,並視需要進行調整。

自動調整的優點

透過自動調整,Azure Databricks 會根據工作的特性動態地重新配置工作者。 某些管道部分的計算需求可能比其他部分更高,Databricks 會在這些工作階段自動新增額外的執行個體(並在不再需要時將其移除)。

自動調整規模可讓您更輕鬆地達到高使用率,因為您不需要佈建計算以配合工作負載。 這尤其適用於需求會隨時間改變的工作負載 (例如在一天內探索資料集),但也適用於較短的一次性工作負載,因為其佈建需求未知。 因此,自動調整有兩個優點:

  • 相較於固定大小的未佈建計算資源,工作負載可以更快執行。
  • 相較於靜態大小的計算資源,自動調整可降低整體成本。

根據計算資源和工作負載的常數大小,自動調整可讓您同時獲得一個或兩個優點。 當雲端提供者終止執行個體時,計算資源大小可能會低於所選擇的工作節點最小數目。 在此情況下,Azure Databricks 會持續重試以重新配置執行個體,以維持最小數量的工作節點。

注意

自動調整不適用於 spark-submit 作業。

注意

自動調整計算在縮減結構化串流工作負載的叢集大小方面存在限制。 Databricks 建議針對串流工作負載使用增強自動調整功能的 DLT。 請參閱 透過強化自動縮放優化 DLT 管線的叢集效能。

自動調整的運作方式

在進階方案中的工作區使用優化的自動擴縮技術。 在標準定價方案中,工作區使用標準的自動縮放。

最佳化的自動縮放具有以下特徵:

  • 在 2 個步驟中從最小值擴充為最大值。
  • 即使計算資源未閒置,也可以藉由查看隨機檔案狀態來縮小規模。
  • 根據當前節點的百分比縮小規模。
  • 在執行工作計算時,如果計算資源在過去 40 秒內未被充分利用,就會縮小規模。
  • 在執行全用途計算時,如果計算資源在過去 150 秒內未被充分利用,就會縮小規模。
  • spark.databricks.aggressiveWindowDownS Spark 組態屬性以秒為單位,指定計算每隔多久做一次縮小規模的決策。 增加值會導致計算更慢地縮小規模。 最大值為 600。

標準計劃工作區使用標準自動調整功能。 標準自動擴展有以下特徵:

  • 從新增 8 個節點開始。 然後以指數方式擴大,採取盡可能多的步驟來達到最大值。
  • 當 90% 的節點在 10 分鐘內不忙且計算資源至少閒置 30 秒時,系統會縮減規模。
  • 從 1 個節點開始,以指數方式縮小。

使用集區自動調整

如果要將計算資源連結至集區,請考慮下列事項:

  • 請確定所要求的計算大小小於或等於集區中的閒置執行個體最小數。 如果更大,計算啟動時間會相當於未使用集區的計算。
  • 請確定計算大小上限小於或等於集區的最大容量。 如果更大,則計算建立將會失敗。

自動調整範例

如果您將靜態計算資源重新設定為自動調整,Azure Databricks 會立即在下限和上限範圍內調整計算資源的大小,然後開始自動調整。 例如,如果您將計算資源重新設定為在 5 到 10 個節點之間自動調整,以下資料表展示具有特定初始大小的計算資源會發生什麼情況。

初始大小 重新設定之後的大小
6 6
12 10
3 5

進階效能設定

下列設定會出現在簡單表單計算 UI 中的 [進階效能] 區段底下。

Spot 實例

您可以在 [進階效能 ] 底下,勾選 [使用競價執行個體 ] 複選框,以指定是否使用競價執行個體。 請參閱 AWS 現成定價。

Spot 實例

若要節省成本,您可以選擇使用即用型執行個體,也稱為 Azure 即用型 VM,方法是勾選 [即用型執行個體] 核取方塊。

設定 Spot

第一個執行個體一律是隨選的 (驅動程式節點一律隨選),後續的執行個體將是現成執行個體。

如果執行個體因不可用而被收回,Azure Databricks 會嘗試取得新的現成執行個體來取代收回的執行個體。 如果無法取得現成實例,則會部署隨選實例來取代收回的實例。 只有已完全取得且正在執行的現成執行個體才支援此隨選容錯回復。 安裝期間失敗的現成執行個體不會被自動取代。

此外,當新節點新增至現有計算資源時,Azure Databricks 會嘗試取得這些節點的現成執行個體。

自動終止

您可以在 [進階效能] 區段底下設定計算的自動終止。 在建立計算期間,指定您想要計算資源在閒置一段期間 (以分鐘計) 後終止。

如果目前時間與上一個命令在計算資源上執行之時間的差異,超過指定的閒置期間,Azure Databricks 會自動終止該計算。 資源。如需計算終止的詳細資訊,請參閱終止計算

驅動程式類型

您可以在 [進階效能] 區段底下選取驅動程序類型。 驅動程式節點會針對附加至計算資源的所有筆記本,維護其狀態資訊。 驅動程式節點也會維護 SparkContext,解譯您從計算資源上的筆記本或程式庫執行的所有命令,以及執行與 Spark 執行程式協調的 Apache Spark 主機。

驅動程式節點類型的預設值與工作節點類型相同。 如果您打算從 Spark worker 擷取大量資料並在筆記本中進行分析,可以選擇具有更多記憶體的較大驅動節點類型。

提示

由於驅動節點會維護附加筆記本的所有狀態資訊,因此請確保將未使用的筆記本從驅動節點中斷連結。

標籤

標籤可讓您輕鬆地監視組織中各種群組所使用的計算資源成本。 在建立計算時將標籤指定為索引鍵/值組,Azure Databricks 會將這些標籤套用至 VM 和磁碟區等雲端資源以及 DBU 使用量報告。

針對從集區啟動的計算,自訂標籤只會套用至 DBU 使用量報告,而且不會傳播至雲端資源。

如需瞭解集區與計算標籤類型如何協同運作的詳細資訊,詳見標籤 中的屬性使用方式

若要將標籤新增至計算資源,請執行以下操作:

  1. 在 [標籤] 區段中,為每個自訂標籤新增索引鍵/值組。
  2. 按下 新增

進階設定

下列設定會出現在簡單表單計算 UI 的 [進階] 區段底下:

存取模式

存取模式是一項安全功能,可決定誰可以使用計算資源,以及他們可以使用計算資源存取的資料。 Azure Databricks 中的每個計算資源都有一個存取模式。 存取模式設定位於簡單表單計算UI 進階 區段底下。

根據預設,存取模式選取 自動,這表示會根據選取的 Databricks Runtime 自動為您選擇存取模式。 機器學習運行時間和 Databricks 運行時間低於 14.3,預設為 Dedicated,否則會使用 Standard

Databricks 建議您對所有工作負載使用標準存取模式。 只有在標準存取模式不支援您的必要功能時,才使用專用存取模式。

存取模式 可讓使用者看見 UC 支援 支援的語言 備註
專用 (先前為單一使用者) 永遠 Yes Python、SQL、Scala、R 可以指派給單一使用者或群組並使用。
標準 (先前共用) 永遠 Yes Python、SQL、Scala(使用 Databricks Runtime 13.3 LTS 和更新版本啟用 Unity Catalog 的運算) 多個使用者可以使用,並在使用者之間隔離資料。

如需每個存取模式功能支援的詳細資訊,請參閱 Unity 目錄的計算存取模式限制

注意

在 Databricks Runtime 13.3 LTS 及以上版本中,所有存取模式都支援 init 指令碼和程式庫。 要求和支援力度各有不同。 請參閱 init 腳本可以安裝在哪裡?計算範圍程式庫

啟用自動調整本機儲存體

通常很難估算特定工作會佔用的磁碟空間量。 為了讓您不必在建立時估算需要連結到計算的受控磁碟的 GB 數,Azure Databricks 會自動在所有 Azure Databricks 計算資源上啟用自動調整的本機儲存體。

在自動調整本機儲存體功能下,Azure Databricks 會監控您計算資源的 Spark 工作者上可用的磁碟空間量。 如果工作節點的磁碟空間開始不足,Databricks 會在空間用盡之前,將新的受控磁碟自動連結到該工作節點。 連結磁碟時,每個虛擬機器的總磁碟空間 (包括虛擬機器的初始本機儲存體) 上限為 5 TB。

僅當虛擬機器返回 Azure 時,連結至虛擬機器的受控磁碟才會斷開。 也就是說,只要虛擬機器屬於某個執行中的計算,其與受控磁碟的連結就永遠不會斷開。 若要縮小受控磁碟使用量,Azure Databricks 建議在設定自動調整計算自動終止的計算中使用此功能。

本機磁碟加密

重要

這項功能處於公開預覽狀態

您用來進行運算的某些執行個體類型可能有本地附加的磁碟。 Azure Databricks 可能儲存資料重組或臨時資料在這些本機連結磁碟上。 若要確保所有儲存類型的靜止資料均已加密,包括暫時儲存在計算資源本機磁碟上的洗牌資料,您可以啟用本機磁碟加密。

重要

因為與本機磁碟區之間的加密資料讀取和寫入會影響效能,工作負載的執行速度可能變慢。

啟用本機磁碟加密時,Azure Databricks 會在本機產生加密金鑰,此金鑰對每個計算節點都是唯一的,可用於加密儲存在本機磁碟上的所有資料。 金鑰的範圍特定於每個計算節點,並且會隨計算節點本身一同銷毀。 在其存留期間,金鑰駐留在記憶體中用於加密和解密,並加密儲存在磁碟上。

若要啟用本機磁碟加密,您必須使用叢集 API。 在建立或編輯計算期間,將 enable_local_disk_encryption 設定為 true

Spark 設定

若要微調 Spark 工作,可以提供自訂 Spark 組態屬性

  1. 在 [計算組態] 頁面上,按一下 切換 [進階]。

  2. 點擊 Spark 索引標籤。

    Spark 設定

    Spark 設定中,以每行一個索引鍵/值組的形式輸入組態屬性。

使用叢集 API 設定計算時,請在spark_conf更新叢集 API 欄位中設定 Spark 屬性。

若要在計算上強制執行 Spark 設定,工作區管理員可以使用計算原則

從秘密中取得 Spark 組態屬性

Databricks 建議將機密資訊 (例如密碼) 儲存在祕密金鑰中而不是純文本中。 若要在 Spark 組態中引用祕密金鑰,請使用下列語法:

spark.<property-name> {{secrets/<scope-name>/<secret-name>}}

例如,若要將名為 password 的 Spark 組態屬性設定為 secrets/acme_app/password 中儲存的祕密金鑰值:

spark.password {{secrets/acme-app/password}}

如需詳細資訊,請參閱 管理秘密

SSH 存取計算資源

基於安全性考慮,在 Azure Databricks 中,SSH 連接埠預設關閉。 如果想要啟用對 Spark 叢集的 SSH 存取,請參閱 SSH 至驅動程式節點

注意

請注意,僅當您的工作區已部署在您自己的 Azure 虛擬網路中時,才能啟用 SSH。

環境變數

設定您可以從計算資源上執行的 init 指令碼存取的自訂環境變數。 Databricks 也提供您可以在 init 指令碼中使用的預先定義的環境變數。 您無法覆寫這些預先定義的環境變數。

  1. 在 [計算組態] 頁面上,點擊 [進階 ] 切換

  2. 按下 Spark 標籤頁

  3. 在 [環境變數] 欄位中設定環境變數。

    [環境變數] 欄位

您也可以使用spark_env_vars 欄位在建立叢集 API更新叢集 API中設定環境變數。

計算記錄傳遞

建立計算時,您可以指定位置來儲存 Spark 驅動程式節點、工作節點和事件的日誌。 記錄每五分鐘傳遞一次,並在您選擇的目的地每小時封存一次。 當計算資源終止時,Azure Databricks 會保證傳遞產生的所有記錄,直到計算資源終止為止。

記錄的目的地取決於計算資源的 cluster_id。 如果指定的目的地為 dbfs:/cluster-log-delivery0630-191345-leap375 的計算記錄會傳遞至 dbfs:/cluster-log-delivery/0630-191345-leap375

若要設定記錄傳遞位置,請執行以下操作:

  1. 在計算頁面上,按一下 [進階 ] 切換
  2. 按下「記錄」標籤。
  3. 選取目的地類型。
  4. 輸入計算記錄路徑。

注意

REST API 中也提供這項功能。 請參閱叢集 API