開始為結構化流狀態調整

您可以啟用狀態平衡狀態流查詢可能增加集群利用率和減少端到端micro-batch延遲。

請注意

在磚運行時11.1及以上。

國家再平衡是如何工作的呢?

結構化流狀態運營商(聚合、連接)在本地存儲他們的狀態在執行程序和雲存儲備份。運營商是跨越許多任務的狀態(分區)。從雲存儲是昂貴的加載狀態,Apache火花任務調度器喜歡調度狀態任務執行人,他們在前麵的微執行批次,這樣他們可以利用執行器狀態緩存。這可能導致低效的集群利用率當新的執行人被添加到集群的有狀態的任務將繼續安排舊的執行人,而新添加的執行人吃閑飯。

這個新國家平衡功能將主動平衡狀態的任務隻要新的執行人被添加到集群從而確保這些執行人立即利用和所有有狀態均勻地分布在所有任務執行人。雖然這可能導致暫時延遲增加的microbatch狀態任務移動到新的執行人,長時間應該平攤通過更有效的集群利用率和降低批延遲由於執行蔓延。

執行和不平衡狀態

工作負載受益於國家平衡?

狀態調整福利狀態結構化流管道進行集群調整事件。無狀態的流媒體業務不會受益,不管改變集群大小。

請注意

計算伸縮擴展限製了集群大小結構化流工作負載。磚建議使用三角洲表與增強的自動定量直播工作負載。看到增強的自動定量是多少?

啟用狀態調整

設置以下配置選項的火花集群配置。

spark.sql.streaming.statefulOperator.stateRebalancing。使真正的

監控狀態調整

國家調整功能不需要特別的監控。表明操作正確,火花任務執行大約均勻執行人火花UI執行人選項卡上。

一個集群調整將導致國家調整觸發事件。您可能會注意到,在平衡事件,micro-batch可能更高的延遲狀態從雲存儲加載到新的遺囑執行人。