我已经在Windows机器上本地安装了hadoop和spark .
我可以访问hadoop中的HDFS文件,例如,
hdfs dfs -tail hdfs:/out/part-r-00000
按预期工作 . 但是,如果我尝试从spark shell访问同一个文件,例如,
val f = sc.textFile("hdfs:/out/part-r-00000")
我收到一个错误,该文件不存在 . 但是,Spark可以使用file:/ ...语法访问Windows文件系统中的文件 .
我已将HADOOP_HOME环境变量设置为c:\ hadoop,这是包含hadoop安装的文件夹(特别是winutils.exe,它似乎是spark所必需的,位于c:\ hadoop \ bin中) .
因为似乎HDFS数据存储在c:\ tmp文件夹中,所以我想知道是否有办法让spark了解这个位置 .
任何帮助将不胜感激 . 谢谢 .
1 回答
如果您的文件不存在,则表示您的spark应用程序(代码段)能够连接到HDFS . 您使用的HDFS文件路径似乎是错误的 .
这应该可以解决您的问题