Flink的数据集API中有各种分区功能,例如partitionByHash
和partitionByRange
。
我想了解首先是什么是分区,groupBy
和分区之间有什么区别。
答案 0 :(得分:5)
分区是比groupBy
更低级别的操作,并且不对数据应用函数。它定义了如何跨并行任务实例分布数据。可以使用不同的方法对数据进行分区,例如散列分区或范围分区。
groupBy
本身不是一个操作。它始终需要一个应用于分组DataSet
的功能,例如reduce
,groupReduce
或groupCombine
。 groupBy
API定义了记录在分配到相应函数之前的分组方式。记录分组分两步进行。
因此,groupBy
的第一步是分区。