分区(Partitioning)与分组(Grouping):
分区:
- 将数据流划分为多个子流,每个子流由一个或多个子任务处理。
- 通过 keyBy 操作实现,根据键对数据进行分区。
- 数据具体去往哪个分区,是通过指定的 key 值先进行一次 hash 再进行一次MurmurHash,通过上述计算得到的值再与并行度进行相应的计算得到。
- 分区的目的是实现数据并行处理,提高处理性能和吞吐量。
分组:
- 根据特定键将数据进行逻辑上的划分,以便对相同键的数据进行聚合操作。
- 结合窗口操作(如 timeWindow)使用,在分区后的数据流中对相同键的数据进行聚合计算。
- 在聚合操作中,将相同键的事件聚合在一起进行处理。
示例:
DataStream<MyEvent> groupedStream = stream
// keyBy 分区操作
.keyBy(event <

最低0.47元/天 解锁文章
1963

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



