总结flink中常用的算子
1. keyBy
keyBy有两个主要的应用,数据分发(处理数据倾斜、平衡数据),上下游算子异步处理
1.1 数据分发
这个算子作为一个数据分发策略【分发还有还有的策略,例如:reblance(轮询),partitionCustom(自定义)】,
keyBy是根据key的hashcode对分区数取模,根据某个字段作为key进行分组,key相同的会被分到一起,如下图示例,相同颜色的正方形分配到一起。

当DataStream的并行分区中数据发生倾斜时,我们会想要在这些分区中,重新平衡这些数据。这时我们可以通过一种方式来实现,使所有task会收到相同的数据。可以使用的分区策略有:
- keyBy,根据key的hashCode对分区数取模(hashCode%partitionNum,产生的是keyedStream)
- shuffle分区策略(random,产
本文总结了Flink中的关键算子,包括keyBy用于数据分发和异步处理,sum算子用于求和,以及groupBy进行数据分组。keyBy通过key的hashcode进行分区,能解决数据倾斜问题;sum算子计算数值总和;groupBy则根据指定字段进行分组,类似于数据库的groupby操作。
订阅专栏 解锁全文
468

被折叠的 条评论
为什么被折叠?



