Spark中reduceByKey和groupByKey的区别和用法?
reduceByKey 用于对每个 Key 对应的多个 Value 进行 merge 操作,最重要的是它能够在本地先进行 merge 操作,并且 merge 操作阔以通过函数自定义;
groupByKey 也是对每个 key 对应的多个 value 进行操作,但是只是汇总生成一个 sequence,本身不能自定义函数,是只能通过额外的 map(func)来实现。
在打的数据集上,reduceByKey(func)的效果比 groupByKey 的效果更好一些。因为 reduceByKey 会在 shuffle 之前对数据进行合并,故:reduceByKey传输速度优于 groupByKey。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!