spark讀取不了本地檔案

2021-10-07 04:42:13 字數 1223 閱讀 2384

環境:ubuntu16.04

在spark集群中想要獲取本地檔案資料集iris.txt,但是卻報了上圖這樣的錯誤,顯示這個檔案在這個路徑不存在 。然後我在本地這個檔案路徑檢視是否有這個txt檔案

結果發現本地有這個檔案啊,這就有點問題了

然後上網查資料,資料如下:

在spark-shell裡執行textfile方法時,如果total-executor-cores設定為n,哪n台機有coarsegrainedexecutorbackend程序的,讀取的檔案需要在這n台機都存在如果設定為1,就讀取指定的master spark的檔案如果只執行   ./spark-shell  就讀取啟動命令的主機的檔案,即在哪台機啟動就讀取哪台機

但問題是我之前啟動就是直接用的 ./spark-shell 命令(如下),應該沒問題啊。

然後我再試著用更精確的命令?./bin/spark-shell  --master spark://master:7077 --executor-memory 1g --total-executor-cores 1

一開始我直接上傳到根目錄(如上圖) 

結果它預設路徑是hdfs://master:9000/user/ubuntu/,好吧,那我把檔案傳到/user/ubuntu/下

然後最終問題解決!!!

參考:

Spark讀取本地檔案問題

不過多是將檔案發到hdfs,明明記得可以讀取本地檔案,後來在林子雨老師廈門大學大資料實驗室部落格上找到解決辦法 本地檔案資料讀寫 textfile sc.textfile file usr local spark mycode wordcount word123.txt 並且需要注意,要載入本地檔案...

Spark讀取檔案

spark預設讀取的是hdfs上的檔案。如果讀取本地檔案,則需要加file usr local spark readme.md。測試時候發現,本地檔案必須在spark的安裝路徑內部或者平行 讀取hdfs檔案,可以這樣指定路徑 hdfs ns1 tmp test.txt。如果不指定任何字首,則使用hd...

Spark讀取檔案

spark預設讀取的是hdfs上的檔案。如果讀取本地檔案,則需要加file usr local spark readme.md。測試時候發現,本地檔案必須在spark的安裝路徑內部或者平行 讀取hdfs檔案,可以這樣指定路徑 hdfs ns1 tmp test.txt。如果不指定任何字首,則使用hd...