更新时间:2024-05-28 GMT+08:00

Flink性能调优规则

及时对Hudi表进行compaction防止Hudi Source算子Checkpoint完成时间过长

当Hudi Source算子Checkpoint完成时间长时,可检查该Hudi表compaction是否正常。因为当长时间不做compaction时list性能会变差。

在事实表与维度表关联场景中可以按表设置TTL降低状态后端数据量

具体使用指导参考通过表级TTL进行状态后端优化

合理设置并行度

任务运行的速度和并行度相关,一般来说提升并行度能有效提升读取的速度,但是过大的并行度可能导致部分节点资源的浪费,过小的并行度可能导致部分节点运行缓慢。对于SQL当前不能手动指定每个Task的并行度,指定的是所有Task统一的并行度。

推荐Source的并行度由上游组件推断设置,对于流系统,与上游的分区数相同(例如Kafka的Topic分区数);对于批系统,与上游的切片数相同(例如HDFS的block数量)。

Flink作业中有Source、Sink、中间计算算子的并行度可以调整。通过分析作业流图,如果发现是中间计算Busy就需要通过调整整个作业并行度来调整这类算子的并行度,常见的如join算子。