一、简介
Spark中的核心数据模型是弹性分布式数据集(RDD),而弹性分布式数据集(RDD)是个抽象类,具体的实现是由各个子类实现的。Spark将常用的大数据操作都转换为对RDD的子类操作。
Transformation操作的对象有两种:Value数据类型,Key-Value数据类型。下面将这两种数据类型的操作列出来:
二、Translation操作
2.1 Value数据类型
map(func)
将原来RDD中的每个元素通过自定义函数func转换为一个包含新元素的RDD。
filter(func)
对原有RDD中的元素进行过滤,每个元素输入到func函数中,如果func函数返回为true则保留,返回false则丢弃。
flatMap(func)
功能与map相似,但是输出的是一个集合。
mapPatitions(func)
功能与map相似,但是mapPatitions获取的是每个分区的迭代器。
mapPationsWithIndex(func)
功能与mapPatitions相似,但是func函数要返回一个表示分区index的interger类型的值
sanple(withReplacement, fraction, seed)
对数据集中的数据进行采样,想成一个新的RDD
union(otherDateset)
将两个数据类型相同的RDD合并成一个RDD
intersection(oterDataset)
返回一个包含两个数据类型相同的RDD的交集的全新的RDD
distinc