apache-spark - Spark中的HDFS文件访问

标签 apache-spark hadoop spark-submit

我正在开发一个应用程序,我从hadoop读取文件,处理数据并将数据存储回hadoop。 我很困惑正确的 hdfs 文件路径格式应该是什么。当从 Spark shell 读取 hdfs 文件时,例如

val file=sc.textFile("hdfs:///datastore/events.txt")

它工作正常,我能够阅读它。

但是当我将 jar 提交到包含相同代码集的 yarn 时,它会给出错误消息

org.apache.hadoop.HadoopIllegalArgumentException: Uri without authority: hdfs:/datastore/events.txt

当我将名称节点 IP 添加为 hdfs://namenodeserver/datastore/events.txt 时,一切正常。

我对这种行为有点困惑,需要指导。

注意:我使用的是 aws emr 设置,所有配置均为默认配置。

最佳答案

如果您想使用 sc.textFile("hdfs://...") 您需要提供完整路径(绝对路径),在您的示例中为“nn1home:8020/..”

如果你想让它变得简单,那么只需使用 sc.textFile("hdfs:/input/war-and-peace.txt")

只有一个/

我认为它会起作用。

关于apache-spark - Spark中的HDFS文件访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50172685/

相关文章:

apache-spark - Spark MLLib 如何在训练分类器时忽略特征

scala - 在scala Spark中将文件读入数组列表

apache-spark - Spark阶段DAG可视化UI中的蓝色 block 是什么意思?

hadoop - 大数据架构:带有Hive或Hadoop的Elasticsearch-Kibana

r - 如何在 EMR 集群上使用 Spark-Submit 或 SparkR 运行 SparkR 脚本?

java - Spark 作业与 yarn-client 一起正常工作,但与 yarn-cluster 完全不工作

scala - 未检测到项目中的 SLF4J : simplelogger. 属性

scala - Spark : break partition iterator for better memory management?

hadoop - Hadoop单点故障能否通过集成Zookeeper来解决?

amazon-web-services - aws emr s3-dist-cp在CopyFilesReducer.cleanup上,MapReduce作业失败