当前位置: 首页 > ops >正文

在scala中,转换算子和行动算子有什么区别

在Scala结合Spark编程中,转换算子(Transformation)和行动算子(Action)有以下区别:

执行机制

 **转换算子**:

        具有惰性求值(延迟计算)特性 。它对RDD(弹性分布式数据集)进行转换操作,从一个RDD生成另一个RDD,但这些操作不会立即执行,而是构建一个操作 lineage(血缘关系),等到遇到行动算子时才会真正触发计算。

        例如 `map` 算子将RDD中每个元素应用给定函数转换为新元素, `filter` 算子按条件过滤元素等,在代码中写了这些算子时,实际计算不会马上开始 。

**行动算子**:

        会立即触发计算。一旦程序执行到行动算子,Spark会根据之前转换算子构建的操作 lineage,将作业提交到集群进行计算,并将结果返回给驱动程序或输出到外部系统 。

功能用途

 **转换算子**:

        主要用于对数据进行各种转换处理,为后续计算做准备。像通过 `map` 对数据进行格式转换、计算新值;用 `filter` 筛选符合条件的数据; `union` 合并多个RDD等 。

**行动算子**:

        用于获取最终计算结果或进行输出操作。比如 `count` 统计RDD中元素个数, `collect` 将RDD所有元素拉取到Driver端, `saveAsTextFile` 把RDD数据保存为文本文件 。

返回结果

 **转换算子**:

        返回新的RDD 。新RDD逻辑上是经过转换操作后的数据集合,但此时并未实际计算出数据。

**行动算子**:

        根据算子功能不同,返回具体的值或执行输出动作。如 `count` 返回元素数量(数值), `collect` 返回包含RDD元素的数组 。

常见算子举例

**转换算子**:`map`、`filter`、`flatMap`、`distinct`、`groupBy`、`union` 等。

 **行动算子**:`count`、`collect`、`reduce`、`first`、`take`、`saveAsTextFile` 等 。

http://www.xdnf.cn/news/4458.html

相关文章:

  • 39.电气连接口与隔离舱设计
  • 【学习笔记】机器学习(Machine Learning) | 第五章(4)| 分类与逻辑回归
  • 在线PDF阅读方案:jQuery + PDF.js
  • K8S 基于本地存储的持久卷
  • 《Python星球日记》 第44天: 线性回归与逻辑回归
  • 猫咪如厕检测与分类识别系统系列~进阶【一】视频流推流及网页实时展示
  • 电脑桌面悬浮窗便签,好用的电脑桌面便签工具
  • Android Studio根目录下创建多个可运行的模块
  • ESP32-S3 I2S音频开发实战指南
  • Nginx性能调优与深度监控
  • html css js网页制作成品——HTML+CSS珠海网页设计网页设计(4页)附源码
  • LVGL-对象 lv_obj_t
  • FAISS(Facebook AI Similarity Search)
  • STM32基础教程——软件SPI
  • 高效C/C++之七:Coverity修复问题: 打印函数切记对应类型 和 判定非空指针变量后使用
  • eFish-SBC-RK3576工控板外部RTC测试操作指南
  • 【工具变量】最新华证ESG评级得分数据-含xlsx及dta格式(2009-2024.12)
  • vscode预览模式(点击文件时默认覆盖当前标签,标签名称显示为斜体,可通过双击该标签取消)覆盖标签、新窗打开
  • 用 CodyBuddy 帮我写自动化运维脚本
  • 易基因:中山大学凌文华团队DNA甲基化研究揭示血管衰老与动脉粥样硬化的表观调控机制|项目文章
  • Debezium BinaryLogClient详解
  • 信息论08:从交叉熵到KL散度——信息论中的“距离“与“差异“度量指南
  • Tiny Machine Learning在人类行为分析中的全面综述
  • ICML 2025录取率公布,spotlight posters仅占2.6%
  • 函数申明 Q_INVOKABLE
  • 4、反应釜压力监控系统 - /自动化与控制组件/reaction-vessel-monitor
  • 关于almalinux分区配置:
  • Java基础 5.7
  • AI日报 · 2025年5月07日|谷歌发布 Gemini 2.5 Pro 预览版 (I/O 版本),大幅提升编码与视频理解能力
  • Spark的基本介绍