从spark jobserver(本地示例)连接到hadoop

hgb9j2n6  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(376)

我用hadoop和spark jobserver的本地示例运行了一个虚拟机。我在hdfs上创建了一个名为“test.txt”的文件,我想从spark jobserver打开它。为此,我编写了以下代码:

val test1 = sc.textFile("hdfs://quickstart.cloudera:8020/test.txt")
val test2 = test1.count
return test2

但是,当我想运行这些行时,spark jobserver中出现了一个错误:

"Input path does not exist: hdfs://quickstart.cloudera:8020/test.txt"

我用 hdfs getconf -confKey fs.defaultFS 它告诉我 hdfs://quickstart.cloudera:8020 作为路径。如果这是hdfs的正确路径,为什么我不能访问test.txt文件?如果这是不正确的路径,我如何才能找到正确的路径?

r1wp621o

r1wp621o1#

您的文件不在根目录中。
你可以在下面找到你的文件 hdfs:///user/<your username>/test.txt 当您在没有指定位置的情况下执行hadoop-put时,它将进入用户的home目录,而不是root目录。
检查以下输出以验证这一点:

hadoop fs -cat test.txt 
hadoop fs -cat /test.txt

hadoop -put 'test.txt' / 看看你的Spark代码是否有效。

相关问题