Update:spark_rdd算子:第2节 RDD_action算子_分区_缓存

一、reduce和reduceByKey:

二、:RDD 的算子总结

RDD 的算子大部分都会生成一些专用的 RDD
  • mapflatMapfilter 等算子会生成 MapPartitionsRDD

  • coalescerepartition 等算子会生成 CoalescedRDD

常见的 RDD 有两种类型
  • 转换型的 RDD, Transformation

  • 动作型的 RDD, Action

常见的 Transformation 类型的 RDD
  • map

  • flatMap

  • filter

  • groupBy

  • reduceByKey

常见的 Action 类型的 RDD
  • collect

    扫描二维码关注公众号,回复: 7382893 查看本文章
  • countByKey

  • reduce

2.3. RDD 对不同类型数据的支持

目标
  1. 理解 RDD 对 Key-Value 类型的数据是有专门支持的

  2. 理解 RDD 对数字类型也有专门的支持

一般情况下 RDD 要处理的数据有三类
  • 字符串

  • 键值对

  • 数字型

RDD 的算子设计对这三类不同的数据分别都有支持
  • 对于以字符串为代表的基本数据类型是比较基础的一些的操作, 诸如 map, flatMap, filter 等基础的算子

  • 对于键值对类型的数据, 有额外的支持, 诸如 reduceByKey, groupByKey 等 byKey 的算子

  • 同样对于数字型的数据也有额外的支持, 诸如 max, min 等

RDD 对键值对数据的额外支持:

键值型数据本质上就是一个二元元组, 键值对类型的 RDD 表示为 RDD[(K, V)]

RDD 对键值对的额外支持是通过隐式支持来完成的, 一个 RDD[(K, V)], 可以被隐式转换为一个 PairRDDFunctions 对象, 从而调用其中的方法.

3b365c28403495cb8d07a2ee5d0a6376
既然对键值对的支持是通过  PairRDDFunctions 提供的, 那么从  PairRDDFunctions 中就可以看到这些支持有什么
类别 算子

聚合操作

reduceByKey

foldByKey

combineByKey

分组操作

cogroup

groupByKey

连接操作

join

leftOuterJoin

rightOuterJoin

排序操作

sortBy

sortByKey

Action

countByKey

take

collect

RDD 对数字型数据的额外支持:

对于数字型数据的额外支持基本上都是 Action 操作, 而不是转换操作:

算子 含义

count

个数

mean

均值

sum

求和

max

最大值

min

最小值

variance

方差

sampleVariance

从采样中计算方差

stdev

标准差

sampleStdev

采样的标准差

 详见代码。

三、:

四、:

五、:

六、:

七、:

猜你喜欢

转载自www.cnblogs.com/mediocreWorld/p/11601938.html