put

Копирует один файл или несколько файлов из локальной файловой системы в файловую систему назначения.
Также читает входные данные из STDIN и записывает в конечную файловую систему, если в качестве источника указано -.

Копирование завершится неудачно, если файл уже существует или если не указан флаг -f.
Возвращает 0 при успешной попытке и -1 при ошибке.

Использование показано ниже:

$ hadoop fs -put [-f] [-p] [-l] [-d] [-t <thread count>] [ - | <localsrc1> .. ]. <dst>
Аргументы

-p

Сохраняет время доступа и модификации, право собственности и разрешения (при условии, что разрешения могут быть распространены по файловой системе)

-f

Перезаписывает место назначения, если оно уже существует

-l

Разрешает DataNode «лениво» сохранять файл на диск; заставляет использовать коэффициент репликации 1.
Этот флаг приведет к снижению долговечности. Будьте осторожны при использовании этого аргумента

-d

Пропускает создание временного файла с суффиксом .COPYING

Если имя локального файла содержит пробелы, замените их на %20 при заполнении аргумента <localsrc1>.

Например, чтобы скопировать файл с именем local file.txt, выполните:

$ hadoop fs -put local%20file.txt /user/hadoop/hadoopfile

Для копирования нескольких файлов укажите их пути следующим образом:

$ hadoop fs -put -f localfile1 localfile2 /user/hadoop/hadoopdir

Для копирования данных в HDFS укажите путь к HDFS-директории в качестве целевого пути:

$ hadoop fs -put -d localfile hdfs://nn.example.com/hadoop/hadoopfile

Пример команды для копирования данных из STDIN в HDFS:

$ cat test\ data.txt | hadoop fs -put - /user/test\ data2.txt
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней