Spark的常用算子

目录内容

  • Spark的常用算子
    • 一、转换算子(Transformation)
    • 二、行动算子(Action)
    • 三、键值对算子(PairRDDFunctions)
    • 四、文件系统算子(File System)

Spark 内置算子是指 Spark 提供的具有高性能、高效率和高可靠性的数据操作函数。Spark 内置算子可以帮助我们完成大量的数据预处理、处理和分析任务。其主要包括以下 4 类算子:

转换算子(Transformation):用于将一个 RDD 转换为另一个 RDD,常见的有 map、flatMap、filter 等。

行动算子(Action):用于对 RDD 执行计算,常见的有 reduce、collect、count 等。

键值对算子(PairRDDFunctions):用于处理 K-V 形式的 RDD,常见的有 reduceByKey、groupByKey、sortByKey 等。

文件系统算子(File System):用于进行文件系统的操作,常见的有 textFile、saveAsTextFile、wholeTextFiles 等。

下面简单介绍一下这些内置算子的详细用法:

一、转换算子(Transformation)

map(func): 将原 RDD 中的每个元素传递给函数 func,得到一个新的 RDD。

flatMap(func): 与 map 类似,但每个元素都可以生成多个输出,这些输出被平铺(flattening)成一个新的 RDD。

filter(func): 返回输入 RDD 中通过函数 func 的筛选结果为 true 的元素。

distinct([numTasks])): 返回输入 RDD 中所有不同的元素,可选参数 numTasks 指定任务的数量。

union(otherRDD): 返回对输入 RDD 和参数 RDD 执行联合操作的结果,生成一个新的 RDD,不去重。

intersection(otherRDD)): 返回对输入 RDD 和参数 RDD 执行交集操作的结果,生成一个新的 RDD。

subtract(otherRDD): 返回对输入 RDD 和参数 RDD 执行差集操作的结果,生成一个新的 RDD。

cartesian(otherRDD): 返回对输入 RDD 和参数 RDD 执行笛卡尔积的结果,生成一个新的 RDD。

二、行动算子(Action)

reduce(func): 使用函数 func 组合 RDD 中的所有元素,返回计算结果。

collect(): 将 RDD 中的所有元素都返回给驱动程序程序。

count(): 返回 RDD 中元素的数量。

first(): 返回 RDD 的第一个元素。

take(n): 返回 RDD 的前 n 个元素。

takeSample(withReplacement, num, [seed]): 从 RDD 中随机取样 num 个元素,withReplacement 指定是否允许取样后返回的元素有重复,seed 指定随机数种子。

takeOrdered(n, [ordering]): 返回包含 RDD 前 n 个元素的列表,元素是按顺序排序的。

aggregate(zeroValue, seqOp, combOp): 使用给定的函数对 RDD 的元素进行聚合,seqOp 计算在分区中初始值到中间结果的聚合计算,而 combOp 在节点上对中间结果进行聚合。

fold(zeroValue, func): 与 aggregate 类似,但这里的 seqOp 和 combOp 相同。

foreach(func): 对 RDD 中的每个元素执行指定的函数。

三、键值对算子(PairRDDFunctions)

reduceByKey(func, [numTasks]): 按键值对中的键将数据聚合在一起,并使用给定的函数进行聚合。

groupByKey([numTasks]): 按键值对中的键将数据分组,并生成一个迭代器,该迭代器包含与每个唯一键关联的所有元素。

mapValues(func): 对键值对的值应用给定的函数。

flatMapValues(func): 对键值对的值应用给定的函数,并生成一个迭代器,该迭代器包含每个键的所有结果。

keys(): 返回键值对 RDD 中所有键的列表。

values(): 返回键值对 RDD 中所有值的列表。

sortByKey([ascending], [numTasks]): 对键值对 RDD 中的键进行排序,ascending 指定是否按升序排序,numTasks 指定任务数量。

四、文件系统算子(File System)

textFile(path, [minPartitions]): 读取一个文件或文件系统中的所有文件,并返回表示它们的 RDD。

wholeTextFiles(path, [minPartitions]): 读取一个文件或文件系统中的所有文件,返回两项组成的元组,第一项是文件名,第二项是文件中的内容。

saveAsTextFile(path): 将 RDD 的内容写入一个文本文件。

saveAsSequenceFile(path): 将 RDD 的内容作为 Hadoop SequenceFile 保存。

saveAsObjectFile(path): 将 RDD 的内容序列化成字节并保存到文件中。

【Spark】Spark的常用算子相关推荐

  1. 2021年大数据Spark(十五):Spark Core的RDD常用算子

    目录 常用算子 基本算子 分区操作函数算子 重分区函数算子 1).增加分区函数 2).减少分区函数 3).调整分区函数 ​​​​​​​聚合函数算子 ​​​​​​​Scala集合中的聚合函数 ​​​​​ ...

  2. spark 常用算子

    一.概述 算子 英文翻译为:Operator(简称op) 狭义:指从一个函数空间到另一个函数空间(或它自身)的映射. 广义:指从一个空间到另一个空间的映射 通俗理解:指事物(数据或函数)从一个状态到另 ...

  3. 大数据——Spark RDD常用算子总结

    Spark的核心是建立在同一的抽象弹性分布式数据集(Resilient Distributed Datasets,RDD)之上的,这使得Spark的各个组件可以无缝的进行集成,能够在同一个应用程序中完 ...

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

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

  5. [Spark]Spark Streaming 指南四 输入DStreams和Receivers

    1. 输入DStream与Receiver 输入DStreams表示从源中获取输入数据流的DStreams.在指南一示例中,lines表示输入DStream,它代表从netcat服务器获取的数据流.每 ...

  6. 2021年大数据Flink(三十九):​​​​​​​Table与SQL ​​​​​​总结 Flink-SQL常用算子

    目录 总结 Flink-SQL常用算子 SELECT WHERE ​​​​​​​DISTINCT ​​​​​​​GROUP BY ​​​​​​​UNION 和 UNION ALL ​​​​​​​JOI ...

  7. HALCON常用算子(HALCON13.0)

    HALCON常用算子(HALCON13.0) Chapter 9--Develop dev_clear_window ( : : : )功能:清除活动图形窗口的内容 dev_close_window ...

  8. Spark——Spark概述

    一.Spark是什么 二.Spark and Hadoop 在之前的学习中,Hadoop的MapReduce是大家广为熟知的计算框架,那为什么咱们还要学习新的计算框架Spark呢,这里就不得不提到Sp ...

  9. Halcon常用算子(库函数)整理

    目录 一. 常规操作类 1.1 tuple_length() 1.2 tuple_find_first() 1.3 tuple_gen_const() 1.4 dev_open_window( ) 1 ...

最新文章

  1. mysql 0x80004005 unable to connect to any of the specified mysql hosts
  2. linux 编译链接过程,编译程序 一:linux程序编译过程(一)-编译和链接
  3. 你为什么总学不会设计模式?
  4. JPA的多表复杂查询
  5. 共享服务器硬件要求,共享服务器的配置与管理.doc
  6. Maven父子结构的项目依赖使用以及打包依赖_微服务项目(maven父子级项目)怎么打包
  7. Java面试题:高并发环境下,jdk7 HashMap可能出现的致命问题。注意:是在jdk7与及以下版本
  8. Oracle EBS:打开工作日历查看
  9. NLP情感分析笔记(五):多类型情感分析
  10. Mac提高效率的小技巧:将Alfred与BetterZip搭配使用
  11. 车辆控制知识总结(一):LQR算法
  12. 好用的蓝牙连接测试工具
  13. Batch批处理最全学习教程
  14. 下载keep运动软件_keep运动软件下载
  15. 树洞OCR文字识别v1.1.0官方版
  16. 适用于数据中心和边缘应用的液冷技术
  17. 身家过亿的帝都富豪来参加1024节专属盛典,小码农献上单链表一篇来庆祝盛典
  18. 2014025640《大四实习》第*周学习总结
  19. 一句代码生成二维码,一句代码生成条形码,批量生成二维码和条形码,步骤教学
  20. Skynet基础入门例子详解(7)

热门文章

  1. Oracle Primavera P6软件项目进度评估与偏差控制
  2. android-ktx
  3. 张驰咨询:玩转LCIA低成本自动化看这里
  4. webdriver启动chrome浏览器后打不开URL
  5. 生活随笔:工作的开心和不开心
  6. 关于微信电子发票生态,这三种服务商最有机会
  7. 【每日新闻】彭震:产业互联网将是浪潮服务器的下一个风口;Gartner:只有65%的企业组织有网络安全专家...
  8. WAS8.5.5集群部署全程图解
  9. ELO-Merchant-Category-Recommendation(上篇)
  10. app屡次停止运行怎么解决_吸尘电动清扫车不运行怎么解决?