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

RDD的常用转换算子

在Spark中,RDD的转换算子是用于生成新的RDD的操作,所有的转换都是惰性执行的。以下是一些常用的RDD转换算子:

 1. `map`

对RDD中的每个元素应用一个函数,生成一个新的RDD。

val rddMapped = rdd.map(x => x  * 2)

 2. `filter`

根据给定的条件过滤RDD中的元素,返回满足条件的新RDD。

val rddFiltered = rdd.filter(x => x > 2)

 3. `flatMap`

类似于`map`,但每个输入元素可以映射为0或多个输出元素,结果是一个扁平化的RDD。

val rddFlatMapped = rdd.flatMap(x => Seq(x, x  * 2))

 4. `reduceByKey`

用于键值对RDD,根据键对值进行归约操作。

val rddPair = sc.parallelize(Seq(("a", 1), ("b", 2), ("a", 3)))

val rddReduced = rddPair.reduceByKey((x, y) => x + y)

 5. `groupByKey`

将键值对RDD中的值按键分组,生成一个新的RDD,其中每个键对应一个值的集合。

val rddGrouped = rddPair.groupByKey()

 6. `distinct`

返回一个去重后的RDD,消除重复元素。

val rddDistinct = rdd.distinct()

 7. `union`

合并两个RDD,生成一个新的RDD。

val rdd1 = sc.parallelize(Seq(1, 2, 3))

val rdd2 = sc.parallelize(Seq(4, 5, 6))

val rddUnion = rdd1.union(rdd2)

 8. `intersection`

返回两个RDD的交集,生成一个新的RDD。

val rddIntersection = rdd1.intersection(rdd2)

 9. `subtract`

返回第一个RDD中存在而第二个RDD中不存在的元素。

val rddSubtracted = rdd1.subtract(rdd2)

 10. `sample`

随机抽样生成一个新的RDD。

val rddSampled = rdd.sample(withReplacement = false, fraction = 0.5)

 11. `sortBy`

根据指定的键对RDD进行排序,生成一个新的RDD。

val rddSorted = rdd.sortBy(x => x)

这些转换算子提供了强大的数据处理能力,可以帮助你根据需要对数据进行各种操作。由于这些操作是惰性执行的,只有在触发行动操作(如`collect`、`count`等)时才会实际计算。


http://www.kler.cn/a/370172.html

相关文章:

  • manim(manimgl)安装教学-win11(2024-08)
  • 【基于无线电的数据通信链】Link 11 仿真测试
  • Keep 实战指南:构建强大的AIOps和告警管理平台
  • 成就与远见:2024年技术与思维的升华
  • 2023年江西省职业院校技能大赛网络系统管理赛项(Linux部分样题)
  • 当设置dialog中有el-table时,并设置el-table区域的滚动,看到el-table中多了一条横线
  • Qt实现播放器顶部、底部悬浮工具栏
  • typescript学习计划(一)--简单介绍typescript
  • VUE组件学习 | 六、v-if, v-else-if, v-else组件
  • OpenAI否认今年将发布“Orion”模型,其语音转写工具Whisper被曝存在重大缺陷|AI日报
  • 【C++】--------- 内存管理
  • 【spark】spark structrued streaming读写kafka 使用kerberos认证
  • 【网络篇】计算机网络——链路层详述(笔记)
  • List<T>属性和方法使用
  • springboot整合kafka
  • 【学习心得】远程root用户访问服务器中的MySQL8
  • 图片分类标注工具python
  • 团队文档管理有困难?总有一款工具合适你
  • 摸鱼小工具-窗口隐藏透明
  • 集团精益智能工厂数字化建设三年规划方案|70页PPT
  • 【ChatGPT】如何利用情景模拟让ChatGPT做决策分析
  • 基于SSM邮票鉴赏系统的设计
  • linux shell脚本后台运行
  • 面试官:说一下Spring 中的 @Cacheable 缓存注解?
  • 3d Max下载|3ds MAX全版本安装教程网盘资源
  • WEB 统一接口返回和异常处理