开始为结构化流状态调整

您可以启用状态平衡状态流查询可能增加集群利用率和减少端到端micro-batch延迟。

请注意

在砖运行时11.1及以上。

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

结构化流状态运营商(聚合、连接)在本地存储他们的状态在执行程序和云存储备份。运营商是跨越许多任务的状态(分区)。从云存储是昂贵的加载状态,Apache火花任务调度器喜欢调度状态任务执行人,他们在前面的微执行批次,这样他们可以利用执行器状态缓存。这可能导致低效的集群利用率当新的执行人被添加到集群的有状态的任务将继续安排旧的执行人,而新添加的执行人吃闲饭。

这个新国家平衡功能将主动平衡状态的任务只要新的执行人被添加到集群从而确保这些执行人立即利用和所有有状态均匀地分布在所有任务执行人。虽然这可能导致暂时延迟增加的microbatch状态任务移动到新的执行人,长时间应该平摊通过更有效的集群利用率和降低批延迟由于执行蔓延。

执行和不平衡状态

工作负载受益于国家平衡?

状态调整福利状态结构化流管道进行集群调整事件。无状态的流媒体业务不会受益,不管改变集群大小。

请注意

计算伸缩扩展限制了集群大小结构化流工作负载。砖建议使用三角洲表与增强的自动定量直播工作负载。看到增强的自动定量是多少?

启用状态调整

设置以下配置选项的火花集群配置。

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

监控状态调整

国家调整功能不需要特别的监控。表明操作正确,火花任务执行大约均匀执行人火花UI执行人选项卡上。

一个集群调整将导致国家调整触发事件。您可能会注意到,在平衡事件,micro-batch可能更高的延迟状态从云存储加载到新的遗嘱执行人。