Spark save result to Local file System but only SUCCESS
阿新 • • 發佈:2019-01-24
執行如下程式碼,把結果儲存到本地檔案系統而不是HDFS上,但是結果中只有success檔案沒有內容檔案
val data1 =sc.parallelize(Array(("a",1),("b",1),("c",1),("d",1)))
.map(x=>x._1 + x._2.toString)
.repartition(1)
data1.saveAsTextFile("file:///home/work/wangdaopeng/fortest1")
本地結果:
執行指令碼如下:
cluster="zjyprc-hadoop" executors="100" queue="root.production.miui_group.miui_ad.queue_1" master="yarn" /home/work/wangdaopeng/tools/infra-client/bin/spark-shell \ --cluster $cluster \ --conf spark.yarn.job.owners=wangdaopeng \ --master $master \ --queue $queue \ --num-executors $executors \ --driver-memory 4g \ --conf spark.driver.maxResultSize=3g \
將master改為local後,結果正常,本地檔案系統裡存入結果
cluster="zjyprc-hadoop" executors="100" queue="root.production.miui_group.miui_ad.queue_1" master="local[*]" /home/work/wangdaopeng/tools/infra-client/bin/spark-shell \ --cluster $cluster \ --conf spark.yarn.job.owners=wangdaopeng \ --master $master \ --queue $queue \ --num-executors $executors \ --driver-memory 4g \ --conf spark.driver.maxResultSize=3g \
結論:
儲存到本地檔案系統(file:///)只有再local模式下才能生效,再cluster模式下(不論是yarn-client還是yarn-cluster)都無法使用