将文件从远程服务器上的 Apache Zeppelin 运行 传输到 HDFS
Transferring a file to HDFS from Apache Zeppelin running on a remote server
我在远程服务器上有一个 Apache Zeppelin 运行 实例,我正在使用 Scala 通过 Spark 解释器与其通信。
我想将存储在该服务器目录中的 csv 文件传输到也在远程服务器上的 HDFS (Hadoop)。
我无权访问服务器上的任何配置文件,我无法安装任何东西,我只能在 Zeppelin 中发出命令。
我试过使用标准
sc.textFile("file:///test.csv")
声明,但returns出现以下错误:
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
有人告诉我,我收到此错误的原因是因为 Spark 无法看到我的 Zeppelin 文件系统。我不确定如何启用类似的功能。
任何建议都会非常有帮助。
你可以试试:
sc.textFile("hdfs://DNS:PORT/test.csv")
其中 DNS
是 Hadoop 集群名称节点的地址,PORT
是 HDFS 监听的端口,默认值取决于 Hadoop 分布。常用值为 8020
。您可以在 core-site.xml
参数 fs.default.name
或 fs.defaultFS
中检查它,具体取决于您的 Hadoop 版本。
示例请求可能如下所示:
sc.textFile("hdfs://address:8020/test.csv")
如果您尝试在 zeppelin 中读取本地文件,请确保将该文件放在 zeppelin 文件夹(zeppelin 安装文件夹)中,因为 zeppelin 无法访问 zeppelin 文件夹之外的文件。
我在远程服务器上有一个 Apache Zeppelin 运行 实例,我正在使用 Scala 通过 Spark 解释器与其通信。
我想将存储在该服务器目录中的 csv 文件传输到也在远程服务器上的 HDFS (Hadoop)。
我无权访问服务器上的任何配置文件,我无法安装任何东西,我只能在 Zeppelin 中发出命令。
我试过使用标准
sc.textFile("file:///test.csv")
声明,但returns出现以下错误:
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
有人告诉我,我收到此错误的原因是因为 Spark 无法看到我的 Zeppelin 文件系统。我不确定如何启用类似的功能。
任何建议都会非常有帮助。
你可以试试:
sc.textFile("hdfs://DNS:PORT/test.csv")
其中 DNS
是 Hadoop 集群名称节点的地址,PORT
是 HDFS 监听的端口,默认值取决于 Hadoop 分布。常用值为 8020
。您可以在 core-site.xml
参数 fs.default.name
或 fs.defaultFS
中检查它,具体取决于您的 Hadoop 版本。
示例请求可能如下所示:
sc.textFile("hdfs://address:8020/test.csv")
如果您尝试在 zeppelin 中读取本地文件,请确保将该文件放在 zeppelin 文件夹(zeppelin 安装文件夹)中,因为 zeppelin 无法访问 zeppelin 文件夹之外的文件。