我是Spark的新手,我有两个问题:
df
),并根据自定义分区器对其进行分区,以便每个分区最多具有阈值数量的点数。因为我需要在每个分区中选择一些点作为领导者并且确保每个分区中相应的领导者和点位于相同的节点 ,我partitionedData
mapPartitions
并将partitionedData
标记设为preservesPartitioning
。最后,这个RDD的结果是我想要的领导者RDD 。这是我的第一个问题:我知道领导者RDD保留了它的父RDD分区(共同分区),但我不确定每个分区中的领导者是否会被放置在 同一节点 作为他们的父母点(共处)?答案 0 :(得分:0)
为了让你能够保证不进行洗牌,所有共同分区都必须在同一行动中完成。
如果您有中间操作,则自定义分区程序创建的Integer索引可以分配给不同的节点,在这种情况下需要随机播放。