2015-09-09 62 views
0

我在hdfs上使用sparksql。
每個hdfs節點都有一個火花從機運行。
當我運行一個大型查詢時,hdfs似乎在節點之間發送數據以激發從屬。
爲什麼HDFS沒有爲本地數據提供本地火花?
所有任務均顯示ANY的地點級別。
我甚至設置了spark.locality.wait = 10000。

任何我失蹤或需要看看?

感謝,
SparkSQL和locality

回答

0

星火需要問紗線執行人它的工作運行之前。因此,紗線爲執行者分配容器而不知道數據在哪裏。爲了解決這個問題,你需要告訴激發你要創建這樣SparkContext(假設你使用的Scala)時創建的文件:

val locData = InputFormatInfo.computePreferredLocations(
    Seq(new InputFormatInfo(conf, classOf[TextInputFormat], new Path(「myfile.txt」))) 

val sc = new SparkContext(conf, locData) 
+0

對不起,我沒有提到,我使用sparksql在thrify服務器上。 – Younes