FSは、ローカル、HDFSなどの任意のファイルシステムを指すことができる一般的なファイルシステムに関連しています。ただし、dfsはHDFSに非常に固有です。したがって、FSを使用すると、fromまたはto localまたはhadoop分散ファイルシステムを使用してdestinationに操作を実行できます。ただし、DFS操作の指定はHDFSに関連しています。
以下は、これら2つを異なるシェルとして説明するhadoopドキュメントからの抜粋です。
FSシェル
FileSystem(FS)シェルは、bin / hadoop fsによって呼び出されます。すべてのFSシェルコマンドは、パスURIを引数として受け取ります。URI形式は、scheme:// autority / pathです。HDFSの場合、スキームはhdfsで、ローカルファイルシステムの場合、スキームはfileです。スキームと権限はオプションです。指定しない場合、構成で指定されたデフォルトのスキームが使用されます。/ parent / childなどのHDFSファイルまたはディレクトリは、hdfs:// namenodehost / parent / childまたは単に/ parent / childとして指定できます(設定がhdfs:// namenodehostを指すように設定されている場合)。FSシェルのほとんどのコマンドは、対応するUnixコマンドのように動作します。
DFShell
HDFSシェルはbin / hadoop dfsによって呼び出されます。すべてのHDFSシェルコマンドは、パスURIを引数として受け取ります。URI形式は、scheme:// autority / pathです。HDFSの場合、スキームはhdfsで、ローカルファイルシステムの場合、スキームはfileです。スキームと権限はオプションです。指定しない場合、構成で指定されたデフォルトのスキームが使用されます。/ parent / childなどのHDFSファイルまたはディレクトリは、hdfs:// namenode:namenodeport / parent / childまたは単に/ parent / childとして指定できます(namenode:namenodeportを指すように構成が設定されている場合)。HDFSシェルのほとんどのコマンドは、対応するUnixコマンドのように動作します。
したがって、上記から、すべて構成スキームに依存すると結論付けることができます。この2つのコマンドを絶対URIで使用する場合、つまりscheme:// a / bの場合、動作は同じになります。動作の違いの原因である、ファイルおよびfsとdfsのhdfsのそれぞれにデフォルトで構成されたスキーム値のみ。
hdfs dfs
あまりにもHDFSのファイルを表示します。