spark算子

本文详细对比了Spark与MapReduce在数据处理上的差异,着重介绍了Spark的丰富算子,包括一对一、多对一和多对多转换算子,如map、flatMap、union和reduceByKey等,以及Key-Value型转换算子和行动算子,如join、cache和saveAsTextFile等。这些算子使得Spark在复杂计算场景下更具优势和灵活性。
摘要由CSDN通过智能技术生成

1.MapReduce只有2个算子,Map和Reduce,绝大多数应用场景下,均需要复杂编码才能达到用户需求,而spark有八十多个算子
2.转换算子:此种算子不触发提交作业,只有作业被提交后才会真正启动转换计算
3.value型转换算子
4.一对一:map算子:给定一个输入通过map函数映到成一个新的元素输出
flatMap算子:给定一个输入,将返回的所有结果打平成一个一维集合结构
mapPartitions算子
glom算子:以分区为单位,将每个分区的值形成一个数组
5.多对一:union算子:两个RDD合并成一个RDD,并不去重
cartesian算子
6.多对多:groupBy算子:子集:filter算子:过滤,输出分区为输入分区子集型
distinct算子:去重,输出分区为输入分区子集型
subtract算子:
sample算子
takeSample算子
Cache:cache算子:将 RDD 元素从磁盘缓存到内存。
persist算子:
7.Key-Value型转换算子
一对一:mapValues算子
对单个RDD聚集:combineByKey算子
reduceByKey算子:按key聚合后对组进行归约处理,如求和、连接等操作
partitionBy算子
对两个RDD聚集:cogroup算子
连接:join算子
leftOutJoin算子
rightOutJoin算子
8.行动算子
此种算子会触发SparkContext提交作业
无输出:foreach算子
HDFS:saveAsTextFile算子
saveAsObjectFile算子
Scala集合和数据类型
collect算子
collectAsMap算子
reduceByKeyLocally算子
lookup算子
count算子
top算子
reduce算子
fold算子
aggregate算子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值