2016-09-29 34 views

回答

1

你將不得不換一個新的RDD,將實現該方法內您的RDD:

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

上述方法告訴調度 - 什麼是其中一個給定的分區應計算的首選地點。

[我在面對2個RDD上的Hashjoin時發生了類似的問題,並對此進行了博客。你可能想看看here。]

+0

謝謝,但似乎我們應該知道每臺機器的IP提前,是否有方法來指定每個分區的執行人ID? – greatji

+0

對,在SparkContext中有一個方法來獲取executorsIds,但它是Spark本地。所以我真的沒有辦法,除了這一點破解。 –

+0

@SachinTyagi https://spark.apache.org/docs/2.0.0/api/java/org/apache/spark/SparkContext.html#makeRDD (scala.collection.Seq,%20scala.reflect.ClassTag)怎麼樣? ?它是否提供100%保證該分區將被放置到特定節點? –

相關問題