本文介绍了将最大并行度更改为现有作业的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我们现在有一个现有的正在运行的Flink作业,该作业包含最大并行度设置为128的键控状态。随着我们数据的增长,我们担心128个在未来是不够的。我想知道我们是否有办法通过修改保存点来更改最大并行度?或者有没有办法做到这一点?推荐答案
您可以使用状态处理器API来完成此操作。您将从从当前作业获取的保存点读取状态,并将该状态写入增加了最大并行度的新保存点。https://nightlies.apache.org/flink/flink-docs-stable/docs/libs/state_processor_api/
如果最大并行度是(大致)实际并行度的4-5倍,则您的作业应该执行得很好。当最大并行度仅略高于实际并行度时,有些槽只处理一个键组的数据,另一些槽处理两个键组的数据,这种不平衡浪费了资源。
但是,如果您使用的是基于堆的状态后端,那么不必要的过高将导致性能损失。这就是默认值仅为128的原因,也是您不想将其设置为极大值的原因。这篇关于将最大并行度更改为现有作业的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!