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

08、Spark常用RDD变换

时间:2018-08-27 21:27:18      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:信息   reduce   agg   变换   rdd   distinct   行操作   索引   UNC   

08、Spark常用RDD变换

8.1 概述

Spark RDD内部提供了很多变换操作,可以使用对数据的各种处理。同时,针对KV类型的操作,对应的方法封装在PairRDDFunctions trait中,KV类的RDD可以被隐式转换成PairRDDFunctions类型。其中很多的操作,和传统的SQL语句中的操作是对应的,只是底层换成Spark的MR计算。

8.2 常用变换

操作 解释
map 变换,将输入的每个元素进行响应操作,生成新的元素
flatMap 压扁,取出具有可迭代性质的组件中每个元素形成新的RDD
filter 过滤,将符合条件的数据抽取出来
reduceByKey 按照key对value进行聚合,对KV类型的RDD进行操作
groupBy 按照特定操作进行分组,产生新RDD
mapPartitions 对整个分区进行一次变换操作
mapPartitionsWithIndex 对整个分区进行一次变换操作对,携带分区索引信息
union 联合操作,将两个同型的RDD纵向合并,等价于sql union操
intersect 提取两个RDD的共同的元素
distinct 取出RDD集合中的重复元素,等价于SQL中distince查询
groupByKey 按照key对value进行分组,针对KV类型RDD进行操作
aggregateByKey 按照key进行聚合,可以改变类型
join shuffle,按照key连接,等价于sql的连接操作
leftOuterJoin 左外链接,按照key进行连接,等价于SQL的left outer join
rightOuterJoin 右外链接,按照key进行连接,等价于SQL的right outer join
fullOuterJoin 全外链接,按照key进行连接,等价于SQL的full outer join
cogroup 协分组,对两个rdd的value进行聚合成二元组
cartesian 笛卡尔积,交叉连接
repartition 再分区,不论是增加还是减少分区,都需要shuffle过程
coalesce 改变分区,需要携带shuffle=true参数来控制是否需要

08、Spark常用RDD变换

标签:信息   reduce   agg   变换   rdd   distinct   行操作   索引   UNC   

原文地址:https://www.cnblogs.com/xupccc/p/9543987.html

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