2017-06-21 28 views
2

我有一個在遠程服務器上運行的Apache Zeppelin實例,我正在使用Scala通過Spark解釋器與它通信。從運行在遠程服務器上的Apache Zeppelin將文件傳輸到HDFS

我想將存儲在該服務器目錄中的csv文件傳輸到HDFS(Hadoop),該文件也位於遠程服務器上。

我無法訪問服務器上的任何配置文件,我無法安裝任何內容,而且我只能在Zeppelin中創建命令。

我曾嘗試使用標準

sc.textFile("file:///test.csv") 

聲明,但它返回以下錯誤:

org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 19.0 failed 4 times, most recent failure: Lost task 0.3 in stage 19.0 (TID 64, 10.244.79.7): java.io.FileNotFoundException: File file:/test.csv does not exist

有人告訴我這是爲什麼我得到這個錯誤的原因是因爲星星之火,可以不請參閱我的Zeppelin文件系統。我不確定如何啓用這樣的功能。

任何建議將是超級有用的。

+0

我想如果它不在hdfs中,它將需要在羣集的所有節點上。 (hadoop fs -put或類似命令)。 – tbone

回答

1

你可以試試:

sc.textFile("hdfs://DNS:PORT/test.csv") 

其中DNS是Hadoop集羣的名稱節點和PORT的地址是在其HDFS被監聽的端口,其中默認值取決於Hadoop發行版。常見的值是8020。您可以在core-site.xml的參數fs.default.namefs.defaultFS中查看它,具體取決於您的Hadoop版本。

實例請求可以是這樣的:

sc.textFile("hdfs://address:8020/test.csv") 
1

如果你想閱讀飛艇本地文件確保把該文件中的飛艇文件夾(齊柏林飛艇的安裝文件夾)飛艇無法訪問zeppelin文件夾外的文件。

相關問題