2017-03-24 107 views

回答

3

map(func) 它是做什么的?通过提供的功能传递RDD的每个元素;即FUNC

flatMap(FUNC) “相似的映射,但每个输入项可以被映射到0以上输出项(所以FUNC应返回SEQ而不是一个单一的项目)。”

比较flatMap在以下 enter image description here

mapPartitions(FUNC) 考虑mapPartitions性能优化工具来映射。在本地计算机上运行示例与在群集上运行相比,它不会有太大帮助。它与地图相同,但适用于Spark RDD分区。请记住,RDD中的第一个D是“分布式” - 弹性分布式数据集。换句话说,你可以说它是分布式的。 enter image description here

mapPartitionsWithIndex(FUNC) 类似于mapPartitions,而且还提供了与一个Int值以指示所述分区的索引位置的函数。 enter image description here

如果我们改变上面的例子中使用parallelize'd名单有3片,我们的产量变化显著: enter image description here