【问题标题】:Apache Spark: comparison of map vs flatMap vs mapPartitions vs mapPartitionsWithIndexApache Spark:map vs flatMap vs mapPartitions vs mapPartitionsWithIndex的比较
【发布时间】:2017-03-24 11:06:23
【问题描述】:

Apache Spark:map vs flatMap vs mapPartitions vs mapPartitionsWithIndex的比较

欢迎提出建议以提高我们的知识。

【问题讨论】:

    标签: apache-spark rdd


    【解决方案1】:

    地图(功能) 它有什么作用?通过提供的函数传递 RDD 的每个元素;即函数

    平面图(函数) “类似于 map,但每个输入项都可以映射到 0 个或更多输出项(因此 func 应该返回一个 Seq 而不是单个项)。”

    在下面比较 flatMap 和 map

    ma​​pPartitions(func) 将 mapPartitions 视为性能优化工具。与在集群中运行相比,在本地机器上运行示例对你没有多大帮助。它与 map 相同,但适用于 Spark RDD 分区。记住 RDD 中的第一个 D 是“分布式”——弹性分布式数据集。或者,换一种说法,你可以说它分布在分区上。

    ma​​pPartitionsWithIndex(func) 类似于 mapPartitions,但也提供了一个函数,用一个 Int 值来表示分区的索引位置。

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

    【讨论】:

      猜你喜欢
      • 2011-01-24
      • 1970-01-01
      • 1970-01-01
      • 2015-01-28
      • 1970-01-01
      • 2018-07-07
      • 2011-10-21
      • 2012-07-07
      • 2018-07-08
      相关资源
      最近更新 更多