我用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文件?如果这是不正确的路径,我如何才能找到正确的路径?
1条答案
按热度按时间r1wp621o1#
您的文件不在根目录中。
你可以在下面找到你的文件
hdfs:///user/<your username>/test.txt
当您在没有指定位置的情况下执行hadoop-put时,它将进入用户的home目录,而不是root目录。检查以下输出以验证这一点:
做
hadoop -put 'test.txt' /
看看你的Spark代码是否有效。