Azure Synapse Analytics 中的 Apache Spark 集區組態

Spark 集區是一組中繼資料,其會定義當 Spark 具現化時的計算資源需求和相關聯行為特性。 這些特性包括但不限於名稱、節點數、節點大小、調整行為,以及存留時間。 Spark 集區本身不會取用任何資源。 建立 Spark 集區不會產生任何費用。 一旦在目標 Spark 集區上執行 Spark 作業,且 Spark 執行個體視需要具現化,才會產生費用。

您可以在這裡了解如何建立 Spark 集區並查看其所有屬性:開始使用 Synapse Analytics 中的 Spark 集區

獨立計算

[獨立計算] 選項藉由將實體計算資源專用於單一客戶,為來自不受信任服務的 Spark 計算資源提供更多的安全性。 [獨立計算] 選項最適合需要與其他客戶工作負載高度隔離的工作負載,原因包括符合合規性和法規需求。 [獨立計算] 選項只能與 XXXLarge (80 vCPU/504 GB) 節點大小搭配使用,且僅適用於下列區域。 雖然執行個體可能需要重新啟動,但是您可以在建立集區之後啟用或停用 [獨立計算] 選項。 如果您預期未來啟用這項功能,請確定您的 Synapse 工作區是在支援獨立計算的區域中建立。

  • 美國東部
  • 美國西部 2
  • 美國中南部
  • US Gov 亞利桑那州
  • US Gov 維吉尼亞州

節點

Apache Spark 集區執行個體包含一個前端節點和兩個以上的背景工作節點,其中至少有三個節點在 Spark 執行個體中。 前端節點會執行額外的管理服務,例如 Livy、Yarn 資源管理員、Zookeeper 和 Spark 驅動程式。 所有節點都會執行節點代理程式和 Yarn 節點管理員之類的服務。 所有背景工作節點都會執行 Spark 執行程式服務。

節點大小

Spark 集區可以定義節點大小,範圍從具有 4 個虛擬核心的小型計算節點和 32 GB 記憶體到每個節點 64 個虛擬核心和 432 GB 記憶體的 XXLarge 計算節點。 雖然執行個體可能需要重新啟動,但是您可以在建立集區之後改變節點大小。

大小 vCore 記憶體
Small 4 32 GB
8 64 GB
16 128 GB
特大 32 256 GB
XXLarge 64 432 GB
XXX Large (獨立計算) 80 504 GB

Autoscale

針對 Apache Spark 集區的自動調整可讓您根據活動量,自動擴大和縮小計算資源。 當啟用自動調整功能時,您設定要調整的節點數目下限和上限。 當自動調整功能停用時,設定的節點數目將保持固定。 雖然執行個體可能需要重新啟動,但是您可以在建立集區之後改變此設定。

彈性集區儲存體

Apache Spark 集區目前支援彈性集區儲存體。 彈性集區儲存體允許 Spark 引擎監視背景工作角色節點的暫存儲存體,並視需要連結額外磁碟。 Apache Spark 集區會在集區具現化時,利用暫存磁碟儲存體。 Spark 作業會寫入隨機顯示對應輸出、隨機處理資料,以及溢寫資料至本機 VM 磁碟機。 可能利用本機磁碟機的作業範例,包括排序、快取和保存。 當暫時的 VM 磁碟空間用盡時,Spark 作業可能會因為「磁碟空間不足」錯誤 (java.io.IOException:裝置上無剩餘空間) 而失敗。 發生「磁碟空間不足」錯誤時,會導致作業無法移轉至客戶以重新設定 Spark 作業 (例如:調整分割區數量) 或叢集 (例如:將更多節點新增至叢集)。 這些錯誤可能不一致,而且使用者最後可能會執行生產作業以進行大量實驗。 對於多個維度的使用者而言,此流程可能過於昂貴:

  • 浪費時間。 客戶必須透過試用和錯誤大量試驗作業設定,而且預期了解 Spark 的內部計量,以做出正確的決策。
  • 浪費資源。 由於生產作業可以處理不同的資料量,若是未過度佈建資源,Spark 作業可能會因不確定性的方式失敗。 例如,請考慮資料扭曲的問題,這可能會導致少數節點需要比其他節點更多的磁碟空間。 目前在 Synapse 中,叢集中的每個節點都會取得相同大小的磁碟空間,而且在所有節點上增加磁碟空間並不是理想的解決方案,而且會導致大量浪費。
  • 作業執行速度變慢。 在我們透過自動調整節點來解決問題的假設案例中 (假設成本對終端客戶而言不是問題),新增計算節點 (需要幾分鐘) 和新增儲存體 (需要幾秒鐘) 相比仍然昂貴。

您不需要採取任何動作,而且您應該會看到較少的作業失敗結果。

注意

Azure Synapse Analytics 彈性集區儲存體目前為「公開預覽」狀態。 「公開預覽」期間,使用彈性集區儲存體不會收費。

自動暫停

自動暫停功能版本在設定閒置的期間會釋放資源,藉以降低 Apache Spark 集區的整體成本。 一旦啟用了這項功能,就可以設定閒置時間的分鐘數。 自動暫停功能與自動調整功能無關。 無論自動調整已啟用還是已停用,都可以暫停資源。 雖然作用中工作階段可能需要重新啟動,但可以在建立集區之後變更此設定。

後續步驟