FS относится к общей файловой системе, которая может указывать на любые файловые системы, такие как локальная, HDFS и т. Д. Но dfs очень специфичен для HDFS. Таким образом, когда мы используем FS, он может выполнять операции с локальной файловой системой из / в или с распределенной файловой системой hadoop по назначению. Но указав DFS относится к HDFS.
Ниже приведены выдержки из документации hadoop, в которой эти две оболочки описаны как разные оболочки.
FS Shell
файловой системы (FS) вызывается bin / hadoop fs. Все команды оболочки FS принимают URI пути в качестве аргументов. Формат URI - схема: // авторитет / путь. Для HDFS схема - hdfs, а для локальной файловой системы - файловая. Схема и полномочия не являются обязательными. Если не указано, используется схема по умолчанию, указанная в конфигурации. Файл или каталог HDFS, например / parent / child, можно указать как hdfs: // namenodehost / parent / child или просто как / parent / child (при условии, что ваша конфигурация настроена так, чтобы указывать на hdfs: // namenodehost). Большинство команд в оболочке FS ведут себя как соответствующие команды Unix.
DFShell
Оболочка HDFS вызывается bin / hadoop dfs. Все команды оболочки HDFS принимают URI пути в качестве аргументов. Формат URI - схема: // авторитет / путь. Для HDFS схема - hdfs, а для локальной файловой системы - файловая. Схема и полномочия не являются обязательными. Если не указано, используется схема по умолчанию, указанная в конфигурации. Файл или каталог HDFS, например / parent / child, можно указать как hdfs: // namenode: namenodeport / parent / child или просто как / parent / child (при условии, что ваша конфигурация настроена так, чтобы указывать на namenode: namenodeport). Большинство команд в оболочке HDFS ведут себя как соответствующие команды Unix.
Итак, из вышесказанного можно сделать вывод, что все зависит от конфигурации схемы. При использовании этих двух команд с абсолютным URI, то есть scheme: // a / b, поведение должно быть идентичным. Только это значение схемы по умолчанию для файла и hdfs для fs и dfs соответственно, что является причиной различий в поведении.
hdfs dfs
показать HDFS файлы тоже.