spark讀取不了本地文件

環境: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

 但是還是報本地文件不存在的錯誤,接着我又試着讓每個Worker節點的相應位置都有要讀取的數據文件,結果還是報這個錯誤。沒辦法只好用最後一招,直接把iris.txt文件上傳到hdfs,達到數據共享。

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

結果它默認路徑是hdfs://master:9000/user/ubuntu/,好吧,那我把文件傳到/user/ubuntu/下

 

 然後最終問題解決!!!

參考:https://www.cnblogs.com/dummyly/p/10000421.html

https://ask.csdn.net/questions/689513 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章