Hadoop FS: Use the widest range of surfaces to manipulate any file system.
Hadoop DFS and HDFs DFS: can only operate on HDFs file system-related (including operations with local FS), which is already deprecated, typically using the latter.
The following reference is from StackOverflow
Following is the three commands which appears same but has minute differences
- Hadoop fs {args}
- Hadoop dfs {args}
HDFs Dfs {args}
hadoop fs <args>
FS relates to a generic the file system which can point to any of the file systems like local, HDFS etc. So the can is used when you is dealing with different file systems such as Local FS, Hftp FS, S3 FS, and others
hadoop dfs <args>
DFS is very specific to HDFS. Would work for operation relates to HDFS. This have been deprecated and we should use HDFs DFS instead.
hdfs dfs <args>
Same as 2nd i.e would work for all the operations related to HDFS and is the recommended command instead of Hadoop DFS
Below is the list categorized as HDFS commands.
**#hdfs commands** namenode|secondarynamenode|datanode|dfs|dfsadmin|fsck|balancer|fetchdt|oiv|dfsgroups
So even if you use Hadoop DFS, it would look locate HDFs and delegate that command to HDFs DFS
When to use Hadoop FS, Hadoop DFS, and HDFs DFS commands