如何在Spark中将一个分区持久保存到特定的执行程序?

时间:2016-09-29 03:18:05

标签: apache-spark

有两个不同的RDD,我想zipPartition这两个rdd,在此之前,我希望在两个RDD中具有相同id的分区可以在同一个执行器中持久化,因此当zipPartition时不会有随机播放。

1 个答案:

答案 0 :(得分:1)

您必须将RDD包装在实现此方法的新RDD中:

def getPreferredLocations(split: Partition): Seq[String]

上述方法告诉调度程序 - 应该计算给定分区的首选位置。

[我在2个RDD上做Hashjoin时遇到了类似的担忧,并在博客上发表过这篇文章。您可能希望查看here。]