一、Transformations与Actions主要算子
(1)Transformations
算子 | 描述 |
---|---|
map | 处理每一条数据 |
mapPartitions | 对每个分区进行处理 |
mapPartitionsWithIndex | 每个元素跟所在分区形成一个元组 |
mapValues | 是针对RDD[K,V]的V做处理 |
flatmap | flatmap = map + flatten |
glom | 每一个分区的数据放在一个数组 |
sample | |
filter | 留下满足条件的 |
groupKeyKey | RDD[K,V]按传入函数的返回值进行分组,key值相同为一组 |
distinct | 去重 |
groupBy | 自定义分组 分组条件就是自定义传进去的 |
sortBy | 排序,按正序排 |
(2)Actions
算子 | 描述 |
---|---|
collect | 数组的形式返回数据集的所有元素 |
foreach | 打印每个元素 |
count | 统计RDD条数 |
reduce | 聚合rdd中的元素,rdd.reduce(+)就是每个元素相加 |
first | 取元素里面的第一个元素,底层调用的是take方法 |
take(n) | 前n个元素组成的数组 |
top(n) | 返回最大的前n个元素,底层调用的是takeOrdered |
takeOrdered | 排序后的前n个元素组成的数组 |
countByKey | 每种key的个数 |
countByKey | 每种key的个数 |