码迷,mamicode.com
首页 > 其他好文 > 详细

6.Pair RDD操作

时间:2020-01-17 13:36:54      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:style   开发   int   alt   red   shu   nsf   cti   很多   

1.1 键值对RDD操作

Mapreduce框架是把数据转为key-value,再聚合为key-values的过程。

在Spark里key-value RDD(pair RDD)同样是最常用的,在每个应用中基本都会用到。

 

pair RDD如何创建?不是通过sc.parallelize 创建

通常应用中是如何创建的?程序中其他RDD转的

pair RDD的元素是不是Map,而是Tuple2。

pair RDD 的Transform操作很多,是开发中最核心的部分。

 

1.2 Pair RDD的Transform操作函数

Pair RDD的Transform操作函数见下方,分为对单个RDD的操作,和2个RDD之间的操作。

对单个RDD的操作函数有:

 

map()  、reduce()   这些和Mapreduce框架没联系。

 

技术图片

 

 技术图片

 

 

 

scala> val rdd=sc.parallelize(List(1,2,3,1,3,4,4,4,5))
rdd: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[4] at parallelize at <console>:24

scala> val pairRDD=rdd.map(i=>(i,1)).reduceByKey((x,y)=>x+y)
pairRDD: org.apache.spark.rdd.RDD[(Int, Int)] = ShuffledRDD[6] at reduceByKey at <console>:26

scala> pairRDD.collect
res10: Array[(Int, Int)] = Array((4,3), (1,2), (3,2), (5,1), (2,1))

 

 

 

 

 

 

两个RDD之间的Transform操作:

 技术图片

 

 

1.3  Pair RDD的Action操作函数

 

技术图片

6.Pair RDD操作

标签:style   开发   int   alt   red   shu   nsf   cti   很多   

原文地址:https://www.cnblogs.com/braveym/p/12202636.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!