FileSystem shell
Обзор
Команды файловой системы (File System, FS) — это различные shell-подобные команды, которые напрямую взаимодействуют с Hadoop Distributed File System (HDFS), а также с другими файловыми системами, которые поддерживает Hadoop, такими как локальная файловая система, WebHDFS, S3 FS и другими.
Использование FS shell показано ниже:
$ bin/hadoop fs <args>
Все команды оболочки FS принимают в качестве аргументов URI пути
Формат URI: scheme://authority/path.
Схема для HDFS — hdfs
, а схема для локальной FS — file
.
Указание схемы и прав доступа необязательно.
Если они не указаны, используется схема по умолчанию, заданная в конфигурации.
Файл или каталог HDFS, например /parent/child, может быть указан как hdfs://namenodehost/parent/child или просто как /parent/child (если в конфигурации задан адрес hdfs://namenodehost).
Большинство команд FS shell ведут себя подобно соответствующим командам Unix. Различия описаны для каждой из команд. Информация об ошибках отправляется в stderr, а вывод — в stdout.
Если используется HDFS, то команда hdfs dfs
будет синонимична.
Можно использовать относительные пути. Для HDFS текущим рабочим каталогом является домашний каталог HDFS /user/<username>, который часто приходится создавать вручную. К домашнему каталогу HDFS также можно обращаться неявно, например, при использовании папки HDFS trash — каталог .Trash в домашнем каталоге.
Команды
Команда | Описание |
---|---|
Добавляет данные из источника на локальной файловой системе в конечный файл |
|
Выводит содержимое файла в stdout |
|
Возвращает информацию о контрольной сумме файла |
|
Изменяет группу файлов |
|
Изменяет права доступа к файлам |
|
Изменяет владельца файлов |
|
Идентична команде put |
|
Идентична команде get |
|
Возвращает количество каталогов и файлов |
|
Копирует файлы из источника в место назначения |
|
Создаёт моментальный снимок snapshottable-каталога |
|
Удаляет моментальный снимок из snapshottable-каталога |
|
Отображает свободное пространство |
|
Отображает размеры файлов и каталогов |
|
Отображает информацию о размере файлов |
|
Постоянное удаление файлов в контрольных точках старше порога сохранения из каталога корзины и создание новой контрольной точки |
|
Находит все файлы, соответствующие указанному выражению, и применяет к ним выбранные действия |
|
Копирует файлы в локальную файловую систему |
|
Отображает ACL файлов и каталогов |
|
Отображает имена и значения расширенных атрибутов (если они есть) для файла или каталога |
|
Принимает исходный каталог и конечный файл в качестве входных данных и объединяет файлы в локальный целевой файл |
|
Выводит первый килобайт файла в stdout |
|
Выводит справочную информацию об использовании всех команд |
|
Возвращает статистику по файлу или список дочерних элементов для каталога |
|
Рекурсивная версия ls |
|
Принимает URI-пути в качестве аргумента и создает каталоги |
|
Идентична команде put |
|
Перемещает файл/каталог из HDFS в локальную файловую систему |
|
Перемещает файлы из источника в пункт назначения |
|
Копирует исходные файлы из локальной в конечную файловую систему |
|
Переименовывает моментальный снимок |
|
Удаляет файлы, указанные в качестве аргументов |
|
Удаляет каталог |
|
Рекурсивная версия команды rm |
|
Устанавливает ACL для файлов и каталогов |
|
Устанавливает имя и значение расширенного атрибута для файла или каталога |
|
Изменяет коэффициент репликации файла |
|
Выводит статистику о файле/каталоге по заданному адресу |
|
Выводит последний килобайт файла в stdout |
|
Запускает тестирование |
|
Принимает исходный файл и выводит его в текстовом формате |
|
Обновляет время доступа и модификации файла, указанного URI, до текущего времени |
|
Создаёт пустой файл |
|
Уменьшает (truncate) все файлы, которые соответствуют указанному шаблону файла, до указанной длины |
|
Выводит справочную информацию для отдельной команды |