[英]Spark wholeTextFiles difference between shell and app
我已經復制粘貼了看起來像這樣的一行
val files = sc.wholeTextFiles("file:///path/to/files/*.csv")
從運行它的Spark shell到不運行的應用程序。 相反,我知道該模式匹配0個文件,即使在外殼中我可以看到所有文件,Spark也會讀取它們。
我想念什么? 這是文件權限問題嗎?
我正在運行該應用程序,如下所示:
spark-submit \
--master yarn \
--deploy-mode cluster \
--files /usr/hdp/current/spark/conf/hive-site.xml \
--num-executors 20 \
--driver-memory 8G \
--executor-memory 4G \
--class com.myorg.pkg.MyApp \
MyApp-assembly-0.1.jar
為了使其正常工作,所有執行者都需要訪問該文件。 如果該文件不在每個執行程序的本地文件系統上,那么您將遇到問題。
一種選擇是將文件放在hdfs上,並將路徑提供為hdfs:/path/to/file.csv
。 這樣,所有執行者都可以訪問它。
另一個選擇是在--files
參數中傳遞文件。 這會將文件發送給所有執行者,以便他們都可以訪問它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.