转换 | 描述 |
---|
map(func) | 它通过将源的每个元素传递给函数 func,返回一个新的分布式数据集。 |
filter(func) | 它通过选择 func 返回 true 的源的那些元素来返回新的数据集。 |
flatMap(func) | 这里,每个输入项可以映射到零个或多个输出项,因此 func 应该返回一个序列而不是单个项。 |
mapPartitions(func) | 它类似于 map,但在 RDD 的每个分区(块)上单独运行,因此在类型 T 的 RDD 上运行时,func 必须是 Iterator<T> => Iterator<U> 类型。 |
mapPartitionsWithIndex(func) | 它类似于 mapPartitions,为 func 提供一个整数值,表示分区的索引,因此在类型 T 的 RDD 上运行时,func 必须是 (Int, Iterator<T>) => Iterator<U> 类型。 |
sample(withReplacement, fraction, seed) | 它使用给定的随机数生成器种子,以有或没有替换的方式对 fraction 的数据进行抽样。 |
union(otherDataset) | 它返回一个新的数据集,其中包含源数据集和参数中元素的并集。 |
intersection(otherDataset) | 它返回一个新的 RDD,其中包含源数据集和参数中元素的交集。 |
distinct([numPartitions])) | 它返回一个新的数据集,其中包含源数据集的不同元素。 |
groupByKey([numPartitions]) | 当在 (K, V) 对的数据集上调用时,它返回 (K, Iterable) 对的数据集。 |
reduceByKey(func, [numPartitions]) | 当在 (K, V) 对的数据集上调用时,返回 (K, V) 对的数据集,其中每个键的值使用给定的 reduce 函数 func 进行聚合,该函数必须是 (V,V) => V 类型。 |
aggregateByKey(zeroValue)(seqOp, combOp, [numPartitions]) | 当在 (K, V) 对的数据集上调用时,返回 (K, U) 对的数据集,其中每个键的值使用给定的组合函数和一个中性的“零”值进行聚合。 |
sortByKey([ascending], [numPartitions]) | 它返回按键升序或降序排序的键值对数据集,如布尔 ascending 参数中所指定。 |
join(otherDataset, [numPartitions]) | 当在类型为 (K, V) 和 (K, W) 的数据集上调用时,返回 (K, (V, W)) 对的数据集,其中包含每个键的所有元素对。 通过 leftOuterJoin、rightOuterJoin 和 fullOuterJoin 支持外部联接。 |
cogroup(otherDataset, [numPartitions]) | 当在类型为 (K, V) 和 (K, W) 的数据集上调用时,返回 (K, (Iterable, Iterable)) 元组的数据集。 此操作也称为 groupWith。 |
cartesian(otherDataset) | 当在类型为 T 和 U 的数据集上调用时,返回 (T, U) 对的数据集(所有元素对)。 |
pipe(command, [envVars]) | 通过 shell 命令(例如 Perl 或 bash 脚本)传递 RDD 的每个分区。 |
coalesce(numPartitions) | 它将 RDD 中的分区数减少到 numPartitions。 |
repartition(numPartitions) | 它随机地重新洗牌 RDD 中的数据,以创建更多或更少的分区,并在它们之间进行平衡。 |
repartitionAndSortWithinPartitions(partitioner) | 它根据给定的分区器重新分区 RDD,并在每个结果分区中,按键对记录进行排序。 |