2017-06-21 93 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文件夹外的文件。

相关问题