RDD 算子_分类 | 学习笔记

简介: 快速学习 RDD算子_分类

开发者学堂课程【大数据Spark2020最新课程(知识精讲与实战演练)第二阶段RDD算子_分类学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/689/detail/11965


RDD算子_分类


内容介绍:

一、序言

二、功能上分类的两大算子

三、根据处理的数据不同分类

四、回归脑图

 

一、序言

Rdd 的使用,就是对于算子的了解,更多的了解 rdd 的使用的过程,就是在了解 rdd 的算子,在了解 rdd 更多的结构之前,先去了解 rdd 算子的划分。

 

二、功能上分类的两大算子

1.transformation

Rdd 从功能上来说有俩类算子,第一类叫做 transformation,即转换。第二类叫 action,即动作。当一个 rdd 使用转换操作,就会生成一个新的 rdd。例如 rdd1,接下来调用 map 算子,进行转换,生成一个新的 rdd2,所以 map 成为转换操作。转换操作大部分都是把 rdd1的每条数据,通过算子中的函数,将 rdd1的数据进行转换,放入到 rdd2中。

其实是表示一种逻辑上的关系,通过 rdd1转换成 rdd2,那么对于 rdd2来说会记录俩个信息,第一个信息是五大属性,会继承 rdd1,当然并不是所有的算子都是继承,但是都是和 rdd1有关系的。Rdd2还会保存依赖关系,有一个计算函数,即 map,这就是 rdd2。转换算子的本质就是生成各种 rdd,让 rdd 之间具有联系,这时就生成 rdd 的链条,本身并不执行。

2.  Action

例如有一个 val rdd1 = .... Val rdd2=rdd1.map(),里面传入方式,里面传入 collect,收集数据。

这时就需要执行整个程序,就需要执行rdd1rdd2的运算,最终去调用数据,来运行整个 spark 程序。所以 rdd 算子从整个功能上分类,transformation 不进行任何操作,只是生成 rdd 链条,而是 action 调用时,整个程序才会被执行。

RDD 中的算子从功能上分为两大类

1.Transformation(转换)它会在一个已经存在的 RDD 上创建一个新的 RDD,将旧的 RDD 的数据转换为另外一种形式后放入新的 RDD

2.Action()执行各个分区的计算任务,将的到的结果返回到 Driver

RDD 中可以存放各种类型的数据,那么对于不同类型的数据,RDD 又可以分为三类

针对基础类型(例如String)处理的普通算子

针对 Key-Value 数据处理的 byKey算子

针对数字类型数据处理的计算算子

 

三、根据处理的数据不同分类

rdd 当中肯定是有数据的,rdd 是一个数据集,那么 Rdd 当中可以存放不同类型的数据,根据处理的数据的不同,也可以分为不同的类。比如第一种是针对基础类型的数据,例如字符串,即 map 等算子。还有一类数据是针对 key-value 型的 by-key 算子。

如果 rdd 当中存放的是数据类型的操作,那么可以执行 maxmin,以及平均值。所以可以根据不同类型的数据也可以划分成不同类型的划分。


四、回归脑图

进入脑图当中,第一部分需要了解转换操作,第二部分了解 action 操作,第三部分了解针对 key 类型的数据做怎么样的优化,针对数字性的数据,提供什么操作。从不同的视角来看,对 rdd 算子进行划分。

相关文章
|
存储 缓存 分布式计算
Spark RDD算子进阶(转换算子、行动算子、缓存、持久化)(下)
Spark RDD算子进阶(转换算子、行动算子、缓存、持久化)(下)
142 0
Spark RDD算子进阶(转换算子、行动算子、缓存、持久化)(下)
|
分布式计算
|
分布式计算 算法 大数据
RDD 算子_转换_ combineByKey | 学习笔记
快速学习 RDD 算子_转换_ combineByKey
120 0
RDD 算子_转换_ combineByKey | 学习笔记
|
分布式计算 算法 大数据
Rdd 算子_转换_mapvalues | 学习笔记
快速学习 Rdd 算子_转换_mapvalues
125 0
Rdd 算子_转换_mapvalues | 学习笔记
|
分布式计算 大数据 开发者
RDD 算子_转换_ aggregateByKey | 学习笔记
快速学习 RDD 算子_转换_ aggregateByKey
106 0
RDD 算子_转换_ aggregateByKey | 学习笔记
|
分布式计算 大数据 Scala
RDD 算子_转换_ foldByKey | 学习笔记
快速学习 RDD 算子_转换_ foldByKey
153 0
RDD 算子_转换_  foldByKey | 学习笔记
|
分布式计算 大数据 Spark
Rdd 算子_转换_回顾 | 学习笔记
快速学习 Rdd 算子_转换_回顾
Rdd 算子_转换_回顾 | 学习笔记
|
分布式计算 大数据 开发者
Rdd 算子_转换_groupbykey | 学习笔记
快速学习 Rdd 算子_转换_groupbykey
136 0
Rdd 算子_转换_groupbykey | 学习笔记
|
分布式计算 大数据 Spark
RDD 算子_转换_排序 | 学习笔记
快速学习 RDD 算子_转换_排序
RDD 算子_转换_排序 | 学习笔记
|
分布式计算 大数据 开发者
RDD 算子_转换 join | 学习笔记
快速学习 RDD 算子_转换 join
RDD 算子_转换 join | 学习笔记