hadoop fs 和 hadoop dfs 命令都是用来操作HDFS的。具体来说:
-
hadoop fs 是 Hadoop File System 的缩写,是一个通用的命令。
-
hadoop dfs 是 Distributed File System 的缩写,专门用于操作HDFS。
这两个命令功能上是等价的,主要的区别在于:
-
hadoop fs 是 Hadoop 2.x 引入的通用命令,可以操作任何Hadoop支持的分布式文件系统。
-
hadoop dfs 是 HDFS 命令,仅用于操作HDFS分布式文件系统,是 Hadoop 1.x 时期的老命令。
两者最主要的区别在于:
-
hadoop fs 可以操作 HDFS、S3、Hbase 等任何Hadoop支持的文件系统。
-
hadoop dfs 仅限于操作HDFS分布式文件系统。
虽然 hadoop dfs 比 hadoop fs 更专注于HDFS,但功能上是等价的。
例如:
hadoop dfs -ls / # 列出HDFS根目录
hadoop fs -ls / # 也可以列出HDFS根目录
实际工程中,一般还是推荐使用 hadoop fs 命令,因为它更通用,不仅限于HDFS。
当需要操作其他文件系统(如S3)时,hadoop fs会更有价值。
总的来说:
-
hadoop dfs 是 Hadoop 1.x 时期的老命令,专注于HDFS。
-
hadoop fs 是 Hadoop 2.x 引入的通用命令,可以操作任何Hadoop文件系统。
所以:
-
对于HDFS操作,可以使用 hadoop dfs 或 hadoop fs 命令,功能上是等价的。
-
需要操作其他文件系统(如S3)时,应使用 hadoop fs 命令。