[语法]reducebykey~rdd的action操作

Spark的rdd的action操作reducebykey
https://www.douban.com/note/505003329/
顾名思义,reduceByKey就是对元素为KV对的RDD中Key相同的元素的Value进行reduce,因此,Key相同的多个元素的值被reduce为一个值,然后与原RDD中的Key组成一个新的KV对。


Spark算子reduceByKey深度解析 - MOON - 博客频道 - CSDN.NET
http://blog.csdn.net/qq_23660243/article/details/51435257
国外的大牛一上来给出这么一句话,个人感觉高度概括了reduceByKey的功能:
[plain] view plain copy print?
Spark RDD reduceByKey function merges the values for each key
using an associative reduce function.【Spark的RDD的reduceByKey
是使用一个相关的函数来合并每个key的value的值的一个算子(那么主
干就是reduceByKey是个算子/函数)】

scala> val x = sc.parallelize(Array(("a", 1), ("b", 1), ("a", 1), | ("a", 1), ("b", 1), ("b", 1), | ("b", 1), ("b", 1)), 3)
我们创建了一个Array的字符串,并把其存入spark的集群上,设置了三个分区【这里我们不关注分区,只关注操作】。那么我们调用reduceByKey并且传入函数进行相应操作【本处我们对相同key的value进行相加操作,类似于统计单词出现次数】:

scala> val y = x.reduceByKey((pre, after) => (pre + after))
这里两个参数我们逻辑上让他分别代表同一个key的两个不同values,那么结果想必大家应该猜到了:

scala> y.collectres0: Array[(String, Int)] = Array((a,3), (b,5))


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容