主要观点:在探索 HDFS 时遇到 hadoop dfs 和 hadoop fs 两种查询 HDFS 的语法,起初难以区分,经研究发现两者在某些方面存在差异。
关键信息:
- 从定义看,在 $HADOOP_HOME/bin/hadoop 中,hadoop fs 和 hadoop dfs 的类定义相同,都为 org.apache.hadoop.fs.FsShell。
- 解释称 FS 可指向本地或 HDFS 等通用文件系统,而 dfs 特定于 HDFS,使用 FS 可对本地或 HDFS 进行操作,指定 DFS 操作则仅与 HDFS 相关。
- Hadoop 文档中,FS Shell 由 bin/hadoop fs 调用,所有命令以路径 URI 为参数,HDFS 方案为 hdfs,本地文件系统方案为 file;DFShell 由 bin/hadoop dfs 调用,参数格式相同,HDFS 方案为 hdfs。
重要细节:根据上述内容可得出,使用这两个命令的绝对 URI 时行为相同,只是 fs 和 dfs 分别默认配置的文件和 HDFS 的方案值不同导致行为有差异。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。