RDD转换(Transformation)操作

本文详细介绍了Spark中的RDD转换操作,包括filter用于筛选元素,map实现一对一映射,flatMap用于一对多转换,groupByKey将相同键的值聚合,以及reduceByKey对键值对进行聚合计算。通过实例解析了这些操作的具体用法和作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、filter(func)  (filter—翻译—>过滤)

筛选出满足函数func的元素,并返回一个新的数据集。

在第3行中,filter()的输入参数line => line.contains("Spark")是一个匿名函数,或者被称为“λ表达式”。

filter(line => line.contains("Spark"))的含义:依次取出lines这个RDD中的每个元素,对于当前取到的元素,把它赋值给λ表达式中的line变量,然后,执行λ表达式的函数体部分 line.contains("Spark"),如果line中包含"Spark"这个单词,就把这个元素加入到新的RDD(即linesWithSpark)中,否则,就丢弃该元素。最终,新生成的RDD中所有的元素都包含单词"Spark"。如下图:

2、map(func)

将每个元素传递到函数func中,并将结果返回为一个新的数据集。(一个元素map一下,得到另外一个元素,一对一的映射)

例一:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值