我是hadoop的初学者。我有两个疑惑
1)如何访问存储在hdfs中的文件?是否与在java.io中使用FileReader并提供本地路径相同或者是其他东西?
2)我创建了一个文件夹,我已经复制了要存储在hdfs中的文件和mapreduce程序的jar文件。当我在任何目录中运行命令时
${HADOOP_HOME}/bin/hadoop dfs -ls
它只显示当前目录中的所有文件。那么这是否意味着所有文件都被添加而没有我明确添加它?
答案 0 :(得分:3)
是的,它几乎一样。阅读this post以从HDFS读取文件。
您应该记住,HDFS与您的本地文件系统不同。使用hadoop dfs
,您可以访问HDFS,而不是本地文件系统。因此,hadoop dfs -ls /path/in/HDFS
向您显示/path/in/HDFS
目录的内容,而不是本地目录的内容。这就是为什么它是相同的,无论你从哪里运行它。
如果您要向HDFS“上传”/“下载”文件,您应该使用逗号:
hadoop dfs -copyFromLocal /local/path /path/in/HDFS
和
hadoop dfs -copyToLocal /path/in/HDFS /local/path
。