FS está relacionado a um sistema de arquivo genérico que pode apontar para qualquer sistema de arquivo, como local, HDFS etc. Mas dfs é muito específico para HDFS. Portanto, quando usamos FS, ele pode executar operações com sistema de arquivos de / para local ou hadoop para destino. Mas a especificação da operação DFS está relacionada ao HDFS.
Abaixo estão os trechos da documentação do hadoop que descreve esses dois como shells diferentes.
Shell FS
O shell FileSystem (FS) é invocado por bin / hadoop fs. Todos os comandos do shell FS usam URIs de caminho como argumentos. O formato do URI é scheme: // autority / path. Para HDFS, o esquema é hdfs, e para o sistema de arquivos local, o esquema é file. O esquema e a autoridade são opcionais. Se não for especificado, o esquema padrão especificado na configuração será usado. Um arquivo HDFS ou diretório como / pai / filho pode ser especificado como hdfs: // namenodehost / pai / filho ou simplesmente como / pai / filho (considerando que sua configuração está definida para apontar para hdfs: // namenodehost). A maioria dos comandos no shell FS se comportam como comandos Unix correspondentes.
DFShell
O shell HDFS é invocado por bin / hadoop dfs. Todos os comandos do shell HDFS usam URIs de caminho como argumentos. O formato do URI é scheme: // autority / path. Para HDFS, o esquema é hdfs, e para o sistema de arquivos local, o esquema é file. O esquema e a autoridade são opcionais. Se não for especificado, o esquema padrão especificado na configuração será usado. Um arquivo HDFS ou diretório como / pai / filho pode ser especificado como hdfs: // namenode: namenodeport / pai / filho ou simplesmente como / pai / filho (considerando que sua configuração está definida para apontar para namenode: namenodeport). A maioria dos comandos no shell HDFS se comportam como comandos Unix correspondentes.
Portanto, pode-se concluir que tudo depende da configuração do esquema. Ao usar esses dois comandos com URI absoluto, ou seja, esquema: // a / b, o comportamento deve ser idêntico. Apenas é o valor do esquema configurado padrão para arquivo e hdfs para fs e dfs, respectivamente, que é a causa da diferença de comportamento.
hdfs dfs
show os arquivos hdfs também.