博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spark RDD概念学习系列之Spark的算子的作用(十四)
阅读量:6703 次
发布时间:2019-06-25

本文共 1057 字,大约阅读时间需要 3 分钟。

Spark的算子的作用

 

 

 

 首先,关于spark算子的分类,详细见 

  1、Transformation 变换/转换算子

  1、map算子

  2、flatMap算子

  3、mapPartitions算子

  4、union算子

  5、cartesian算子

  6、grouBy算子

  7、filter算子

  8、sample算子

  9、cache算子  

  10、persist算子

  11、mapValues算子

  12、combineByKey算子

  13、reduceByKey算子

  14、join算子

  2、Action 行动算子

  1、foreach算子

  2、saveAsTextFile算子

  3、collect算子

  4、count算

 

   简单地总结:

  通过Action算子,触发Spark提交作业。

  通过Cache算子,将数据缓存到内存。

   

  

                      图1  Spark算子和数据空间

  上图描述了Spark的输入、 运行转换、 输出。 在运行转换中通过算子对RDD进行转换。算子是RDD中定义的函数,可以对RDD中的数据进行转换和操作。

1)输入:在Spark程序运行中,数据从外部数据空间(如分布式存储:textFile读取HDFS等,parallelize方法输入Scala集合或数据)输入Spark,数据进入Spark运行时数据空间,转化为Spark中的数据块,通过BlockManager进行管理。
2)运行:在Spark数据输入形成RDD后便可以通过变换算子,如fliter等,对数据进行作并将RDD转化为新的RDD,通过Action算子,触发Spark提交作业。 如果数据需要复用,可以通过Cache算子,将数据缓存到内存。
3)输出:程序运行结束数据会输出Spark运行时空间,存储到分布式存储中(如saveAsTextFile输出到HDFS),或Scala数据或集合中(collect输出到Scala集合,count返回Scala int型数据)。Spark的核心数据模型是RDD,但RDD是个抽象类,具体由各子类实现,如MappedRDD、 ShuffledRDD等子类。 Spark将常用的大数据操作都转化成为RDD的子类。

 

本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/5723979.html,如需转载请自行联系原作者

你可能感兴趣的文章
Exchange系列—配置边缘传输服务器和集线器传输服务器的反垃圾邮件代理
查看>>
Java程序内存分析:使用mat工具分析内存占用
查看>>
redis(二)redis+TCMALLOC高性能的缓存服务器的安装配置
查看>>
Sublime Text 3为新的扩展文件类型实现语法高亮
查看>>
MySQL8.0.11安装脚本及其备份脚本,日志轮转
查看>>
NO.123 需求的基本统计报表
查看>>
Ubuntu 安装mysql
查看>>
最小化安装CentOS 6.X之后要做哪些配置
查看>>
MAC OS 下如何跟Linux系统互相拷贝文件
查看>>
为什么使用Context的startActivity方法(比如在Service中或者Broad...
查看>>
sql替换数据库字段中的字符
查看>>
Linux安装rpc监控系统资源
查看>>
[ThinkPHP]延迟更新方法的陷阱
查看>>
JSON和XML:不可同日而语
查看>>
ipcs命令
查看>>
apache2+tomcat6负载均衡
查看>>
fabric增删改查Mac
查看>>
shell 处理mysql的增删改查
查看>>
WCF基本配置解决传输大小限制
查看>>
hdu1203
查看>>