tongchenkeji 发表于:2023-4-19 16:29:200次点击 已关注取消关注 关注 私信 flink批模式查一张几千万的hive到另一个hive表,一下子起了1000的并行度,怎么降下来?[阿里云实时计算 Flink版] 暂停朗读为您朗读 flink批模式查一张几千万的hive到另一个hive表,一下子起了1000的并行度,怎么降下来? 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 实时计算Flink版# HIVE122# SQL1285# 实时计算 Flink版3179# 流计算2236
wljslmzAM 2023-11-27 18:12:16 1 如果任务的并行度过高,可以考虑通过以下几个方向来调整并行度: 调整输入数据源的并行度:如果输入数据源并行度过高,可以根据数据量、查询复杂度等因素适当调整数据源的并行度。 调整算子(operator)的并行度:可以根据任务的数据量、计算复杂度、硬件配置等因素,适当调整每个算子的并行度。通常来说,并行度设置在100左右是一个比较合适的范围。 避免数据倾斜:如果任务的并行度集中在少数几个算子上,可能会导致数据倾斜问题,可以通过keyBy()和rebalance()等操作来平衡算子间的负载,避免数据倾斜。 你可以通过flink的Web UI来查看任务的运行情况,包括每个算子的并行度、任务的运行状态、数据倾斜等情况,进而根据实际情况来进行调整并行度。另外,如果任务的并行度过高对应用的性能无任何帮助,也会增加集群的压力,因此还需要根据数据量、硬件配置等因素来实际判断并行度的合适范围。
微笑向日葵AM 2023-11-27 18:12:16 2 可以设置下参数,类似这样 SET table.exec.hive.infer-source-parallelism.max=20;,此回答整理自钉群“【③群】Apache Flink China社区”
如果任务的并行度过高,可以考虑通过以下几个方向来调整并行度:
调整输入数据源的并行度:如果输入数据源并行度过高,可以根据数据量、查询复杂度等因素适当调整数据源的并行度。
调整算子(operator)的并行度:可以根据任务的数据量、计算复杂度、硬件配置等因素,适当调整每个算子的并行度。通常来说,并行度设置在100左右是一个比较合适的范围。
避免数据倾斜:如果任务的并行度集中在少数几个算子上,可能会导致数据倾斜问题,可以通过keyBy()和rebalance()等操作来平衡算子间的负载,避免数据倾斜。
你可以通过flink的Web UI来查看任务的运行情况,包括每个算子的并行度、任务的运行状态、数据倾斜等情况,进而根据实际情况来进行调整并行度。另外,如果任务的并行度过高对应用的性能无任何帮助,也会增加集群的压力,因此还需要根据数据量、硬件配置等因素来实际判断并行度的合适范围。
可以设置下参数,类似这样 SET table.exec.hive.infer-source-parallelism.max=20;,此回答整理自钉群“【③群】Apache Flink China社区”