Spark算子的作用

Spark的输入、运行转换、输出过程,在运行转换中通过算子对RDD进行转换

输入:外部数据空间(HDFS、Scala集合)输入Spark,数据进入Spark运行时数据空间,转化为Spark数据块,通过BlockManager管理

运行:输入形成RDD后,通过算子操作生成新的RDD,通过Action算子,触发Spark提交作业

输出:程序结束数据输出到运行时数据空间,存储到分布式存储或Scala数据

算子分类

Value数据类型的Transformation算子

Key-Value数据类型的Transformation算子

Action算子

Value数据类型的Transformation算子

输入输出一对一

map

将原RDD的每一个数据通过map中用户自定义函数f映射转为一个新的元素

map

flatMap

将原RDD的每一个数据通过函数f转换为新的元素,将生成的RDD的每个集合中的元素合并为一个集合

flatMap

mapPartitions

获取到每个分区的迭代器(Iterator),通过这个分区整体的迭代器对整个分区的元素进行操作

mapPartitions

glom

将每个分区形成一个数组

glom

输入输出多对一

union

在两个RDD元素数据类型相同时,合并两个RDD的元素,并不去重

如果要去重使用distinct(),++相当于union()

union

cartesian

对两个RDD内的所有元素进行笛卡尔积操作

cartesian

输入输出多对多

groupBy

将元素通过函数生成相应的key,数据转化为key-value,然后将key相同的元素分为一组

groupBy

输入是输出子集

filter

对元素进行过滤

filter

distinct

元素去重操作

distinct

subtract

集合差操作,RDD1-RDD2

subtract

sample

对RDD集合中的元素进行采样,获取所有元素的子集,可以设定有放回抽样、百分比、随机种子,决定采样方式

sample

takeSample

与sample函数原理相同,但不使用相对比例采样,按设定的采样个数进行采样,返回的不是RDD而是单机的数组,相当于执行了collect()操作

takeSample

cache类型

cache

将RDD元素从磁盘缓存到内存,相当于persist(MEMORY_ONLY)

cache

persist

对RDD缓存,缓存模式由StorageLevel决定,参考 RDD持久化级别

作者:Alex90

链接:https://www.jianshu.com/p/841963caf214

spark算子大全glom_Spark 算子- Value Transformation相关推荐

  1. Halcon算子大全

    ##Halcon算子大全 Halcon算子大全 Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm ...

  2. spark算子大全glom_(七)Spark Streaming 算子梳理 — repartition算子

    目录 天小天:(一)Spark Streaming 算子梳理 - 简单介绍streaming运行逻辑 天小天:(二)Spark Streaming 算子梳理 - flatMap和mapPartitio ...

  3. Spark转换算子大全以及案例实操

    1.RDD 转换算子 RDD转换算子实际上就是换了名称的RDD方法 RDD 根据数据处理方式的不同将算子整体上分为 Value 类型.双 Value 类型和 Key-Value 类型 算子:Opera ...

  4. spark算子_Spark常用算子

    Spark的算子分类: 从大方向说,Spark算子大致可以分为以下两类: (1)Transformation变换/转换算子:这种变换并不触发提交作业,这种算子是延迟执行的,也就是说从一个RDD转换生成 ...

  5. spark中各类key算子的用法汇总(持续更新中)

    启动方式: spark-shell --master yarn 依赖导入: import org.apache.spark.{SparkConf, SparkContext} 输出rdd的类型举例: ...

  6. Spark 常用算子详解(转换算子、行动算子、控制算子)

    Spark简介 Spark是专为大规模数据处理而设计的快速通用的计算引擎: Spark拥有Hadoop MapReduce所具有的优点,但是运行速度却比MapReduce有很大的提升,特别是在数据挖掘 ...

  7. Spark _07_补充部分算子【二】

    接Spark _06_补充部分算子[一] https://blog.csdn.net/qq_41946557/article/details/102673673 scala API package d ...

  8. spark中的转换算子和行动算子区别(transformations and actions)

    算子(RDD Operations): 对于初学者来说,算子的概念比较抽象,算子可以直译为 "RDD的操作", 我们把它理解为RDD的方法即可 . 转换算子(transformat ...

  9. spark之RDD的转换算子与行为算子的具体使用

    文章目录 1.Transform算子 1.1 map 1.2 flatmap 1.3 groupBy和groupBykey 1.4 filter 1.5 Mappartitions 1.6 mapVa ...

  10. 2021年大数据Spark(十六):Spark Core的RDD算子练习

    目录 RDD算子练习 map 算子 filter 算子 flatMap 算子 交集.并集.差集.笛卡尔积 distinct 算子 ​​​​​​​​​​​​​​first.take.top 算子 ​​​ ...

最新文章

  1. 56 Node.js服务端开发入门
  2. 嫦娥“挖土”归来有多难?看看中国首颗返回式卫星的故事
  3. 【Verilog HDL 训练】第 08 天(二进制、Johnson、环形计数器)
  4. python复数类型-python复数类型
  5. 现代软件工程 第十三章 【软件测试】 练习与讨论
  6. 12如何隐藏dock栏_一键隐藏 iPhone 刘海和底部 Dock 栏,简洁又好看
  7. 【2017年第1期】基于征信数据观中国近10年产业间信贷资源的调整路径
  8. java底层模型_Java I/O模型及其底层原理,夯实你的开发基础
  9. k8s集群中 spark访问hbase中数据
  10. Hibernate组件作为复合主键(五)
  11. 剑指offer(数值的整数次方)
  12. Maven中pom文件常见的标签使用以及介绍
  13. 2019年第十二届中国大学生计算机设计大赛总结
  14. 极化电磁波matlab,基于Matlab的电磁波极化仿真.pdf
  15. 无限火力机器人一拳流出装_LOL无限火力再出赖皮套路,机器人无限击飞,需要两件装备!...
  16. 不定期备考小tips[数模][0] #20210529
  17. iOS 判断系统版本
  18. PHP拆分粘连的英文单词,英语单词拆分技巧
  19. 查看用户登陆历史记录
  20. 江苏省小学生计算机装备标准,江苏省小学信息技术装备标准汇编.doc

热门文章

  1. tomcat老启动不起来问题
  2. 9.使用 curses 函数库来管理基于文本的屏幕
  3. 26.逻辑卷管理器(Logical Volume Manager)
  4. 20. Element innerHTML 属性
  5. mc服务器天赋系统,[娱乐|经济]GokiStats——全新的天赋系统插件MySQL可用[全版本]...
  6. php hbase thrift,php通过thrift操作hbase
  7. css3中word-wrap与wrod-break的区别
  8. 使用powershell执行在线脚本的具体示例
  9. DHCP原理及报文格式
  10. hdu 6155 - Subsequence Count