設定作業的計算
本文包含設定 Databricks 工作計算的建議和資源。
每個工作可以有一或多個工作。 您可以為每個工作定義計算資源。 針對相同工作定義的多個工作可以使用相同的計算資源。
每個工作的建議計算為何?
下表指出每個工作類型的建議和支援的計算類型。
注意
工作的無伺服器計算有限制,且不支援所有工作負載。 請參閱無伺服器計算限制。
Task | 建議的計算 | 支援的計算 |
---|---|---|
Notebooks | 無伺服器工作 | 無伺服器工作、傳統工作、傳統全用途 |
Python 指令碼 | 無伺服器工作 | 無伺服器工作、傳統工作、傳統全用途 |
Python Wheel | 無伺服器工作 | 無伺服器工作、傳統工作、傳統全用途 |
SQL | 無伺服器 SQL 倉儲 | 無伺服器 SQL 倉儲、Pro SQL 倉儲 |
Delta Live Tables 管線 | 無伺服器管線 | 無伺服器管線,傳統管線 |
dbt | 無伺服器 SQL 倉儲 | 無伺服器 SQL 倉儲、Pro SQL 倉儲 |
dbt CLI 命令 | 無伺服器工作 | 無伺服器工作、傳統工作、傳統全用途 |
JAR | 傳統工作 | 傳統工作、傳統全用途 |
Spark Submit | 傳統工作 | 傳統工作 |
工作的定價會繫結至用來執行工作的計算。 如需詳細資料,請參閱 Databricks 定價。
如何設定作業的計算?
傳統工作計算會直接從 Databricks 工作 UI 進行設定,而這些設定是工作定義的一部分。 所有其他可用的計算類型都會將其設定與其他工作區資產一起儲存。 下表有更多詳細資訊:
計算類型 | 詳細資料 |
---|---|
傳統工作計算 | 您可以使用可用於所有用途計算的相同UI和設定,為傳統工作設定計算。 請參閱計算設定參考。 |
工作的無伺服器計算 | 工作的無伺服器計算是支援工作之所有工作的預設值。 Databricks 會管理無伺服器計算的計算設定。 請參閱使用適用於工作流程的無伺服器計算來執行 Azure Databricks 工作。 nn 工作區管理員必須啟用無伺服器計算,才能顯示此選項。 請參閱啟用無伺服器計算。 |
SQL 倉儲 | 無伺服器和 Pro SQL 倉儲是由工作區系統管理員或具有不受限制叢集建立權限的使用者所設定。 您可以設定工作以針對現有的 SQL 倉儲執行。 請參閱連線至 SQL 倉儲。 |
Delta Live Tables 管線計算 | 您可以在管線設定期間設定 Delta Live Tables 管線的計算設定。 請參閱 設定 Delta Live Tables 管線的計算。 nn Azure Databricks 會管理無伺服器 Delta Live Tables 管線的計算資源。 請參閱 設定無伺服器差異實時數據表管線。 |
通用計算 | 您可以選用地使用傳統全用途計算來設定工作。 Databricks 不建議將此設定用於生產工作。 請參閱計算設定參考和是否應該將所有用途的計算用於工作?。 |
跨工作共用計算
設定工作以使用相同的工作計算資源,以協調多個工作的工作來最佳化資源使用量。 跨工作共用計算可以減少與啟動時間相關聯的延遲。
您可以使用單一工作叢集來執行屬於工作的所有工作,或針對特定工作負載最佳化的多個工作叢集。 在工作中設定為工作一部分的任何工作計算都可供工作中的所有其他工作使用。
下表強調針對單一工作設定的工作計算與工作之間共用的工作計算之間的差異:
單一工作 | 跨工作共用 | |
---|---|---|
啟動 | 工作執行開始時。 | 當第一個工作執行設定為使用計算資源時。 |
終止 | 工作執行之後。 | 在設定為使用計算資源的最終工作之後。 |
閒置計算 | 不適用。 | 當工作未使用計算資源執行時,計算會保持開啟和閒置。 |
共用工作叢集的範圍是單一工作執行,無法由其他工作或相同工作的執行使用。
無法在共用工作叢集設定中宣告程式庫。 您必須在工作設定中新增相依程式庫。
檢閱、設定及交換工作計算
[工作詳細資料] 面板中的 [計算] 區段會列出針對目前工作中的工作所設定的所有計算。
當您將滑鼠停留在計算規格上時,系統會在工作圖表中醒目提示設定為使用計算資源的工作。
使用 [交換] 按鈕來變更與計算資源相關聯之所有工作的計算。
傳統工作計算資源具有 [設定] 選項。 其他計算資源可讓您選擇檢視和修改計算設定詳細資料。
設定傳統工作計算的建議
本節著重於可讓某些工作流程受益之功能和設定的一般建議。 設定計算資源大小和類型的特定建議會根據工作負載而有所不同。
Databricks 建議使用最新的 Databricks Runtime 版本,以及針對 Unity 目錄設定的計算來啟用 Photon 加速。
工作的無伺服器計算會管理所有基礎結構,並排除下列考慮。 請參閱使用適用於工作流程的無伺服器計算來執行 Azure Databricks 工作。
注意
結構化串流工作流程有特定建議。 請參閱結構化串流的生產考量。
使用共用存取模式
Databricks 建議針對工作使用共用存取模式。 請參閱存取模式。
注意
共用存取模式不支援某些工作負載和功能。 Databricks 建議這些工作負載的單一使用者存取模式。 請參閱 Unity 目錄的計算存取模式限制。
使用叢集原則
Databricks 建議工作區系統管理員定義工作的叢集原則,並為設定工作的所有使用者強制執行這些原則。
叢集原則可讓工作區系統管理員設定成本控制,並限制使用者的設定選項。 如需設定叢集原則的詳細資訊,請參閱建立和管理計算原則。
Azure Databricks 提供針對工作設定的預設原則。 系統管理員可以將此原則提供給其他工作區使用者。 請參閱工作計算。
使用自動調整
設定自動調整,讓長時間執行的工作可以在工作執行期間動態新增和移除背景工作節點。 請參閱啟用自動調整。
使用集區來減少叢集的開始時間
計算集區可讓您保留雲端提供者的計算資源。 集區有助於減少新的工作叢集開始時間,並確保計算資源可用性。 請參閱集區組態參考。
使用現成執行個體
針對需要延遲延遲需求的工作負載設定現成執行個體,以將成本最佳化。 請參閱現成執行個體。
是否應該將所有用途的計算用於工作?
Databricks 建議針對工作使用所有用途計算的原因有很多,包括下列各項:
- Azure Databricks 會以與工作計算不同的費率計費,用於所有用途的計算。
- 工作計算會在工作執行完成之後自動終止。 所有用途的計算都支援自動終止,這與非使用中繫結,而不是工作執行的結尾。
- 所有用途的計算通常會在使用者小組之間共用。 針對所有用途計算排程的工作,通常會因為計算資源的競爭而增加延遲。
- 針對最佳化工作計算設定的許多建議,都不適合在各種用途計算上執行的臨機操作查詢和互動式工作負載類型。
以下是您可能會選擇針對工作使用所有用途計算的使用案例:
- 您正反覆開發或測試新的工作。 工作計算的啟動時間可能會讓反覆開發變得乏味。 所有用途的計算可讓您套用變更並快速執行工作。
- 您有短期的工作必須經常執行,或在特定排程上執行。 目前執行的所有用途計算沒有相關聯的啟動時間。 如果使用此模式,請考慮與空閒時間相關聯的成本。
工作的無伺服器計算是建議的替代大部分工作類型,您可以考慮針對所有用途的計算執行。