Spark的RDD转换算子与行动算子

本文详细介绍了Spark中的转换算子,包括单Value类型、双Value类型和Key-Value类型的算子,如map、filter、reduceByKey和groupByKey等,并讨论了引起Shuffle的算子。此外,还对比了reduceByKey与groupByKey的区别,以及阐述了Repartition和Coalesce的关系与应用场景。
摘要由CSDN通过智能技术生成

转换算子

RDD根据数据处理的方式不同将算子整体上分为单Value类型、双Value类型和Key-Value类型

  • 单Value类型
  1. map
    将处理的数据逐条进行映射转换,这里的转换可以是类的转换,也可以是值的转换。
  2. mapPartitions
    将待处理的数据以分区为单位发送到计算节点进行处理,也就是一次处理一个分区的数据,而不是像map函数一样逐条处理。这里的处理是指可以进行任意的处理。
  3. mapPartitionsWithIndex
    将待处理的数据以分区为单位发送到计算节点进行处理,这里的处理是指可以进行任意的处 理,哪怕是过滤数据,在处理时同时可以获取当前分区索引。
  4. flatMap
    将处理的数据进行扁平化后再进行映射处理,也称扁平映射。
  5. glom
    将同一个分区的数据直接转换为相同类型的内存数组进行处理,分区不变
  6. groupBy
    将数据根据指定的规则进行分组,分区默认不变,但是数据会被打乱重组,我们将这样的操作称为shuffle。极限情况下,数据可能被分在同一个分区中。一个组的数据在一个分区中,但并不是说一个分区中只有一个组。
    在这里插入图片描述
  7. filter
    将数据根据指定的规则进行筛选过滤,符合规则的数据保留,不符合规则的丢弃。当筛选后,分区不变,这样就可能导致数据不
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值