Apache Spark:map与flatMap vs mapPartitions vs mapPartitionsWithIndex
的比较欢迎提出建议,以提高我们的知识。
答案 0 :(得分:3)
<强>地图(FUNC)强> 它有什么作用?通过提供的函数传递RDD的每个元素;即func
<强> flatMap(FUNC)强> “与map类似,但每个输入项可以映射到0个或更多输出项(因此func应该返回Seq而不是单个项)。”
<强> mapPartitions(FUNC)强> 将mapPartitions视为性能优化的工具。与在群集中运行相比,在本地计算机上运行示例时,这对您没有多大帮助。它与map相同,但与Spark RDD分区一起使用。请记住,RDD中的第一个D是“分布式” - 弹性分布式数据集。或者,换句话说,你可以说它分布在分区上。
<强> mapPartitionsWithIndex(FUNC)强> 与mapPartitions类似,但也提供了一个带有Int值的函数来指示分区的索引位置。