Spark入门(四):RDD基本操作

本文深入介绍了Spark中的RDD操作,包括转换和行动操作。转换操作如单个和两个RDD转换,不立即执行;行动操作如reduce、fold、collect、take等则触发计算,如计算元素总数、取样、遍历RDD等。了解这些操作对于掌握Spark编程至关重要。

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

1.RDD转换

RDD的所有转换操作都不会进行真正的计算

1.1单个RDD转换操作

# 创建测试RDD
val rdd = sc.parallelize(Array("hello world","java","scala easy"))

# 1.map():遍历RDD中的每个元素,将返回值构成新的RDD,返回值类型可和原RDD不一致
val mapRdd = rdd.map(x => "map:"+x)
mapRdd.foreach(println)
# 输出
# map:hello world
# map:java
# map:scala easy

# 2.flatMap(): 遍历RDD中的每个元素,将返回的迭代器的所有内容构成新的 RDD
val flatMapRdd = rdd.flatMap(x => x.split(" "))
flatMapRdd.foreach(println)
# 输出
# hello
# world
# java
# scala
# easy

# 3.filter():遍历RDD中的每个元素,将匹配的元素构成新的RDD
val filterRdd = rdd.filter(x => x.contains("java"))
filterRdd.foreach(x => x.contains("java"))
filterRdd.foreach(println)
# 输出
# java

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值