| 算子 | 描述 |
|---|---|
| collect() | 无参,以数组的形式返回RDD中的所有的元素:本质上:是将executor中运算得到的RDD—>拉取到Driver程序中来,形成Scala的集合 |
| take(n) | 返回RDD中的前n个元素,无参时,默认为前10个 |
| takeOrdered(n, [ordering]) | 和top类似,先排序(升序/降序),再取前n,不过获取的元素的顺序与top相反 |
| takeSample(withReplacement, num, [seed]) | 返回一个随机采样数组,该数组由从RDD中采样获得,可以选择是否用随机数来替换不足的部分,seed用于指定随机数生成器的种子 |
| first() | 返回RDD的第一个元素(并不一定是最大的,看RDD是否排序,类似于take(1)) |
| top(n) | 返回由RDD前n个最大的元素构成的数组(最大:元素具备可比性,默认取字典顺序最大的) |
| reduce(func) | 通过func函数来聚集RDD中的所有元素,且要求func必须满足:1.可交换;2.可并联。 |
| reduceByKeyLocally(func:(V, V)=>V) | 功能与reduceByKey相同,以key为组进行聚合,但是 唯一不同的是:该算子返回的是一个Map[K, V]的集合 |
| sum() | 只能作用于纯数值形式的RDD,返回元素的总和 |
| count() | 无参,()可以省略,返回RDD的元素个数 |
| countByValue() | 无参,针对于任意类型的RDD,统计RDD中各种元素值及其出现的次数,返回Map[value,count]集合 |
| countByKey() | 无参,针对于PairRDD,返回每种Key对应的元素的个数,返回Map[key, count]形式的Map集合 |
| map | 对RDD中的每一个元素都执行,前后元素的对应关系是1:1。 |
| mapPartitions | 1:1对应 分区 RDD使用mapParatition方法,分批加载,有N个区加载N次; |
| flatmap | 对RDD中的每一个元素都执行,前后元素的对应关系是1:N。将每个元素合并成集合 |
| reduceByKey | 要求数据(K,V) (K, V) —> (K, V),对每个键对应的多个值进行合并操作 |
| groupByKey | 要求数据(K,V),对key进行分组,分组后相同key的数据拉取到一起,组成了一个集合 |
| sortByKey | 排序 |
| sortBy | 按照V(Int)进行排序,默认正序排列 |
| sample | sample是Spark中的抽样算子,从RDD中抽取一定比例的数据,接收三个参数: |
SparkCore常用算子
最新推荐文章于 2022-07-21 23:18:47 发布
本文深入解析了Spark中RDD的各种Transformation算子,包括collect、take、takeOrdered等数据收集操作,reduce、sum、count等数据聚合操作,以及map、flatMap、reduceByKey等数据转换操作。这些算子是Spark数据处理的核心,掌握它们对于高效使用Spark至关重要。
1304

被折叠的 条评论
为什么被折叠?



