从Spark-JobServer(本地实例)连接到Hadoop

时间:2016-01-25 13:53:08

标签: hadoop apache-spark spark-jobserver

我运行一个虚拟机,其中包含Hadoop和Spark-JobServer的本地实例。我创建了一个名为' test.txt'在我想从Spark-JobServer打开的HDFS上。我编写了以下代码来执行此操作:

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的路径,它显示了hdfs://quickstart.cloudera:8020作为路径。如果这是HDFS的正确路径,为什么我不能访问test.txt文件?如果这是inccorect路径,我该如何找到正确的路径?

1 个答案:

答案 0 :(得分:2)

您的文件不在根目录中。

您会在PrintWriter out = response.getWriter(); response.setContentType("text/plain"); out.println(html); out.close();

下找到您的文件

当您在没有指定位置的情况下执行hadoop -put时,它将进入用户的主目录,而不是根目录。

检查以下内容的输出以验证这一点:

hdfs:///user/<your username>/test.txt

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

并查看您的火花代码是否有效。