Hadoop - команда getmerge
Команда Hadoop -getmerge используется для объединения нескольких файлов в HDFS (распределенная файловая система Hadoop), а затем помещает их в один выходной файл в нашей локальной файловой системе.
Мы хотим объединить 2 файла, присутствующих внутри, - это HDFS, то есть file1.txt и file2.txt , в один файл output.txt в нашей локальной файловой системе.
Шаги по использованию команды -getmerge
Шаг 1. Давайте посмотрим на содержимое файлов file1.txt и file2.txt , доступных в нашей HDFS. Вы можете увидеть содержимое File1.txt на изображении ниже:
Содержимое File2.txt
В этом случае мы скопировали оба этих файла в мою HDFS в папку Hadoop_File. Если вы не знаете, как создать каталог и скопировать файлы в HDFS, выполните для этого команду ниже.
- Создание каталога Hadoop_Files в нашей HDFS
hdfs dfs -mkdir / Hadoop_File
- Копирование файлов в HDFS
hdfs dfs -copyFromLocal /home/dikshant/Documents/hadoop_file/file1.txt /home/dikshant/Documents/hadoop_file/file2.txt /Hadoop_File
Ниже приведено изображение, показывающее этот файл в моем каталоге / Hadoop_File в HDFS.
Шаг 2: Теперь пришло время использовать команду -getmerge, чтобы объединить эти файлы в один выходной файл в нашей локальной файловой системе, для чего выполните следующую процедуру.
Синтаксис:
hdfs dfs -getmerge -nl / путь1 / путь2 .... / путь n / пункт назначения
-nl используется для добавления новой строки. это добавит новую строку между содержимым этих n файлов. В этом случае мы слили его с папкой / hadoop_file внутри моей папки / Documents.
hdfs dfs -getmerge -nl /Hadoop_File/file1.txt /Hadoop_File/file2.txt /home/dikshant/Documents/hadoop_file/output.txt
Теперь посмотрим, объединится ли файл в файл output.txt или нет.
На изображении выше вы можете легко увидеть, что файл успешно объединен в наш файл output.txt.