一、转换算子和行动算子
1、Transformations转换算子
1)、概念
Transformations类算子是一类算子(函数)叫做转换算子,如map、flatMap、reduceByKey等。Transformations算子是延迟执行,也叫懒加载执行。
2)、Transformation类算子
filter :过滤符合条件的记录数,true保留,false过滤掉
map:将一个RDD中的每个数据项,通过map中的函数映射变为一个新的元素。特点:输入一条,输出一条数据。
flatMap:先map后flat。与map类似,每个输入项可以映射为0到多个输出项。
sample:随机抽样算子,根据传进去的小数按比例进行又放回或者无放回的抽样。
reduceByKey:将相同的Key根据相应的逻辑进行处理。
2、Action行动算子
1)、概念:
2)、Action类算子
3)、demo:动态统计出现次数最多的单词个数,过滤掉。
3、Spark代码流程
1)、创建SparkConf对象
2)、创建SparkContext对象
3)、基于Spark的上下文创建一个RDD,对RDD进行处理。
4)、应用程序中要有Action类算子来触发Transformation类算子执行。
5)、关闭Spark上下文对象SparkContext。
二、Spark持久化算子
1、控制算子
1)、概念
2)、cache
2、cache和persist的注意事项
3、checkpoint
checkpoint将RDD持久化到磁盘,还可以切断RDD之间的依赖关系。checkpoint目录数据当application执行完之后不会被清除。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。