簡體   English   中英

Spark WholeTextFiles外殼程序與應用程序之間的區別

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM