put
Копирует один файл или несколько файлов из локальной файловой системы в файловую систему назначения.
Также читает входные данные из STDIN и записывает в конечную файловую систему, если в качестве источника указано -.
Копирование завершится неудачно, если файл уже существует или если не указан флаг -f.
Возвращает 0 при успешной попытке и -1 при ошибке.
Использование показано ниже:
$ hadoop fs -put [-f] [-p] [-l] [-d] [-t <thread count>] [ - | <localsrc1> .. ]. <dst>
-p |
Сохраняет время доступа и модификации, право собственности и разрешения (при условии, что разрешения могут быть распространены по файловой системе) |
-f |
Перезаписывает место назначения, если оно уже существует |
-l |
Разрешает DataNode «лениво» сохранять файл на диск; заставляет использовать коэффициент репликации |
-d |
Пропускает создание временного файла с суффиксом |
Если имя локального файла содержит пробелы, замените их на %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