Apache Spark:map vs flatMap vs mapPartitions vs mapPartitionsWithIndex 的比较
欢迎提出建议以提高我们的知识。
map(func) 它有什么作用?通过提供的函数传递 RDD 的每个元素;即功能
flatMap(func) “类似于 map,但每个输入项可以映射到 0 个或多个输出项(因此 func 应该返回 Seq 而不是单个项)。”
mapPartitions(func) 将
mapPartitions 视为性能优化的工具。与跨集群运行相比,在本地机器上运行示例时,它对您没有多大帮助。它与 map 相同,但适用于 Spark RDD 分区。记住 RDD 中的第一个 D 是“分布式”——弹性分布式数据集。或者,换句话说,您可以说它分布在多个分区上。

mapPartitionsWithIndex(func)
与 mapPartitions 类似,但也提供了一个带有 Int 值的函数来指示分区的索引位置。

如果我们将上面的示例更改为使用具有 3 个切片的并行化列表,我们的输出会发生显着变化:

| 归档时间: |
|
| 查看次数: |
2821 次 |
| 最近记录: |