spark学习1
来源:互联网 发布:战网安装不了 传输数据 编辑:程序博客网 时间:2024/05/17 01:04
1.算子的分类
大致可以分为三大类算子。
1)Value数据类型的Transformation算子,这种变换并不触发提交
作业,针对处理的数据项是Value型的数据。
2)Key-Value数据类型的Transfromation算子,这种变换并不触发
提交作业,针对处理的数据项是Key-Value型的数据对。
3)Action算子,这类算子会触发SparkContext提交Job作业。
1.1Value型Transformation算子
处理数据类型为Value型的Transformation算子可以根据RDD变换
算子的输入分区与输出分区关系分为以下几种类型。
1)输入分区与输出分区一对一型。
2)输入分区与输出分区多对一型。
3)输入分区与输出分区多对多型。
4)输出分区为输入分区子集型。
5)还有一种特殊的输入与输出分区一对一的算子类型:Cache
型。Cache算子对RDD分区进行缓存。
1.1.1 输入分区与输出分区一对一型
map flatMap glom(每个分区形成一个数组,内部实现是返回的GlommedRDD)
1.1.2 输入分区与输出分区多对一型
union cartesian
1.1.3输入分区与输出分区多对多型
groupBy:将元素通过函数生成相应的Key,数据就转化为Key-Value格式,之后将Key相同的元素分为一组
例如,V1,V2合并为一个Key-Value对,其中key为“V”,Value为“V1,V2”,形成V,Seq(V1,V2)
1.1.4输出分区为输入分区子集型
filter distinct subtract(RDD相减)
1.1.5 Cache型
cache persist数据缓存在哪里由StorageLevel
枚举类型确定。有以下几种类型的组合,DISK代表磁盘,MEMORY代表内存,SER代表数据是否进行序列化存储。
1.2 Key-Value型Transformation算子
1.2.1输入分区与输出分区一对一
mapValues:针对(Key,Value)型数据中的Value进行Map操作,而不对Key进行处理
1.2.2对单个RDD或两个RDD聚集
combineByKey reduceByKey
1.2.3连接
join
1.3Action算子
Action算子的输出空间将Action算子进行分类:无输出、HDFS、Scala集合和数据类型
1.3.1无输出
foreach
1.3.2HDFS
saveAsTextFile saveAsObjectFile
1.3.3 Scala集合和数据类型
collect count collectAsMap top
- spark学习1
- Spark学习1-wordcount
- Spark机器学习1
- spark学习系列1
- 学习Spark(1)
- spark 学习笔记1
- spark-机器学习-1
- spark学习(1)
- Spark学习日记1
- spark学习1
- Spark机器学习-1
- Spark学习1
- Spark学习笔记1
- Spark源码编译---Spark学习笔记1
- spark学习笔记1 spark算子
- Spark学习笔记1:Spark概览
- Spark组件之Spark Streaming学习1--NetworkWordCount学习
- 【spark 学习笔记】Spark学习笔记精华(1)
- 朴素、Select、Poll和Epoll网络编程模型实现和分析——模型比较
- React native ListView初识
- iOS之ProtocolBuffer搭建和示例demo
- 获取post过来的stream数据
- mybatis笔记《1》
- spark学习1
- #####tensorflow+入门笔记︱基本张量tensor理解与tensorflow运行结构 ***********######
- linux目录结构解析
- 《C和指针》练习题~9.14_10 palindrome()
- ZCMU-1769-约数问题
- 朴素、Select、Poll和Epoll网络编程模型实现和分析——Poll、Epoll模型处理长连接性能比较
- 关于android 6.0手机权限动态请求
- Shell_Linux 将字符串分割为数组
- 【项目管理】软件行业作坊式管理的表现