RDD根据数据处理的方式不同将算子整体上分为单Value类型、双Value类型和Key-Value类型
- map
将处理的数据逐条进行映射转换,这里的转换可以是类的转换,也可以是值的转换。
- mapPartitions
将待处理的数据以分区为单位发送到计算节点进行处理,也就是一次处理一个分区的数据,而不是像map函数一样逐条处理。这里的处理是指可以进行任意的处理。
- mapPartitionsWithIndex
将待处理的数据以分区为单位发送到计算节点进行处理,这里的处理是指可以进行任意的处 理,哪怕是过滤数据,在处理时同时可以获取当前分区索引。
- flatMap
将处理的数据进行扁平化后再进行映射处理,也称扁平映射。
- glom
将同一个分区的数据直接转换为相同类型的内存数组进行处理,分区不变
- groupBy
将数据根据指定的规则进行分组,分区默认不变,但是数据会被打乱重组,我们将这样的操作称为shuffle。极限情况下,数据可能被分在同一个分区中。一个组的数据在一个分区中,但并不是说一个分区中只有一个组。

- filter
将数据根据指定的规则进行筛选过滤,符合规则的数据保留,不符合规则的丢弃。当筛选后,分区不变,这样就可能导致数据不均衡甚至出现数据倾斜。