Spark常用算子总结

本文总结了Spark中的常用算子,包括Transformation算子如map、filter、flatMap、union、intersection、subtract和cartesian,以及Action算子reduce、fold、aggregate。此外,还讨论了RDD的持久化策略如cache和persist,以及repartition和coalesce在调整分区时的作用。通过这些算子和操作,可以更好地理解和利用Spark进行大数据处理。
摘要由CSDN通过智能技术生成

Spark常用算子总结


// Transformation算子
1、map算子
接收一个函数,对于RDD中的每一个元素执行此函数操作,结果作为返回值。
val rdd = sc.parallelize(Array(1, 2, 3, 4), 1)
rdd.map(x => x*x).foreach(println) // 1 4 9 16

2、filter
接收一个函数,对于RDD中的每一个元素执行此函数操作,留下结果为true的项。
val rdd = sc.parallelize(Array(1, 2, 3, 4), 1)
rdd.filter(_>2).foreach(println) // 3 4

3、flatMap
和map差不多,只是对于每个输入项返回结果有多个,类似一对多映射。用wordCount的例子看:
sc.textFile(“test.txt”)
.flatMap(_.split(” “)) // 一对多映射,每行处理后返回多个单词
.map((_, 1)) // 每个单词映射成pairRDD
.reduceByKey(+)
.collect()
.foreach(println)

// 下面是4个集合操作
4、union
合并两个RDD

5、intersection
求两个RDD的交集

6、subtract
求两个RDD的差集

7、cartesian
求两个RDD的笛卡儿积

// Action算子
8、reduce
接收两个同类型的元素,返回一个同样类型的元素
val rd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值