Transformation转换算子
value类型:
map() 映射
mapPartitions() 以分区单位执行Map
mapPartitionsWithIndex() 带分区号
flatMap() 压平
glom() 分区转换数组
groupBy() 分组
filter() 过滤
sample() 采样
distinct() 去重
coalesce() 重新分区
repartition() 重新分区执行shuffle
sortBy() 排序
pipe() 执行脚本
双value类型:
union() 并集
subtract() 差集
intersection() 交集
zip() 拉链
Key-value类型:
partitionBy() 按照Key重新分区
reduceByKey() 按照key聚合value
groupByKey() 按照key重新分组
aggregateByKey() 按照key处理分区和分区内的逻辑
foldByKey() 分区内和分区间相同的aggregateByKey()
combineByKey() 转换结构后分区内和分区间的操作
sortByKey() 按照key进行排序
mapValues() 只对value处理
join() 将相同key对应多个value关联在一起
cogroup() 类似全连接,但是在同一个RDD中对key聚合
Action 行动算子
reduce() 聚合
collect() 以数组形式返回数据集
count() 返回RDD中元素个数
first() 返回RDD中第一个元素
take() 返回有RDD前N个元素组成的数组
takeOrDered() 返回该RDD排序号前n个元素组成的数组
aggregate() 将每个分区里的元素通过分区内逻辑和初始化值进行聚合
fold() 折叠操作,aggregate的简化操作
countByKey() 统计每种key的个数
save
saveAsTextFile(path)保存成Text文件
saveAsSequenceFile(path) 保存成Sequencefile文件
saveAsObjectFile(path) 序列化成对象保存到文件
foreach(f)遍历RDD中每一个元素