首页 > 其他 > 详细

(三)spark算子 分为3大类

时间:2017-03-23 20:10:07      阅读:221      评论:0      收藏:0      [点我收藏+]

 

ation算子通过sparkContext执行提交作业的runJob,触发rdd的DAG执行

(foreach)
foreach(f) 会对rdd中的每个函数进行f操作,下面的f操作就是打印输出没有元素
技术分享
 saveAsTextFile
将rdd保存到hdfs指定的路径,将rdd中每一个分区保存到hdfs上的block
技术分享
saveAsObjectFile
将rdd中每10个元素组成一个array,然后将这个array序列化,映射为(null,bytesWritable(y))
写入hdfs为Sequence格式
技术分享
collect
collect将分布式的rdd返回成一个scala数组,通过函数操作,将结果返回到driver节点上存储

技术分享

collectAsMap
对key-value型的rdd返回一个单击的hashMap,如果key值相同则后面的元素替换前面的元素

技术分享

 reduceByKeyLocally
实现是先reduce再collectAsMap操作,将结果返回一个hashMao
 
lookup
对key-value型的rdd进行操作,通过指定的key,返回对应元素的Seq()对象,这个算子的优化在于
如果这个rdd包含分区器,那么就只对指定key所在的分区进行扫描,如果没有则会对rdd进行全量扫描
 技术分享
count
就是返回整个rdd元素的个数
 
reduce
reduce就是先将rdd中的每个分区key-value的集合进行reduceLeft,在对每个分区形成的集合reduceFeft
 技术分享
 
广播变量
他广泛用户map site join 这些小表,以及广播大变量等场景,这些数据集合在单节点内存能够容纳,不想rdd那样在节点中 打散,spark运行时会把广播变量的数据发送到各个节点,保存下来,后续计算可以复用
 

 

(三)spark算子 分为3大类

原文:http://www.cnblogs.com/zhangXingSheng/p/6606811.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!