Hadoop - команда getmerge

Опубликовано: 18 Февраля, 2022

Команда 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.