1. 程式人生 > >hadoop fs {args}、hadoop dfs {args}、hdfs dfs {args}三者的區別

hadoop fs {args}、hadoop dfs {args}、hdfs dfs {args}三者的區別

這是摘自stackoverflow的話:

Following are the three commands which appears same but have minute differences

  1. hadoop fs {args}
  2. hadoop dfs {args}
  3. hdfs dfs {args}

    hadoop fs <args>
    

FS relates to a generic file system which can point to any file systems like local, HDFS etc. So this can be used when you are 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 has 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 will look locate hdfs and delegate that command to hdfs dfs

按我的中文理解是:

hadoop fs {args}適合檔案系統如local、HDFS等,所以當你處理不同檔案系統如Local FS, HFTP FS,S3 FS, and others的時候使用。

hadoop dfs {args}針對HDFS而言,但更建議使用hdfs dfs {args},兩者作用是一樣的,適合所有關於HDFS的操作。

你還可以這樣認為:

fs:file system 

dfs: distributed file system


參考:http://stackoverflow.com/questions/18142960/whats-the-difference-between-hadoop-fs-shell-commands-and-hdfs-dfs-shell-co