Hadoop -getmerge命令用于合并 HDFS(Hadoop 分布式文件系统)中的多个文件,然后将其放入我们本地文件系统中的单个输出文件中。
我们希望将 HDFS 中存在的 2 个文件(即file1.txt和file2.txt )合并到本地文件系统中的单个文件 output.txt 中。
使用 -getmerge 命令的步骤
第 1 步:让我们看看我们的 HDFS 中可用的 file1.txt和file2.txt 的内容。您可以在下图中看到 File1.txt 的内容:
File2.txt 的内容
在这种情况下,我们已将这两个文件复制到我的 HDFS 中的Hadoop_File文件夹中。如果您不知道如何创建目录并将文件复制到 HDFS,请按照以下命令进行操作。
- 在我们的 HDFS 中创建 Hadoop_Files 目录
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
下面是在 HDFS 中我的 /Hadoop_File 目录中显示此文件的图像。
第 2 步:现在是时候使用-getmerge命令将这些文件合并到我们本地文件系统中的单个输出文件中,以便按照以下过程进行操作。
句法:
hdfs dfs -getmerge -nl /path1 /path2 ..../path n /destination
-nl用于添加新行。这将在这 n 个文件的内容之间添加一个新行。在这种情况下,我们已将其合并到我的/Documents文件夹中的/hadoop_file 文件夹。
hdfs dfs -getmerge -nl /Hadoop_File/file1.txt /Hadoop_File/file2.txt /home/dikshant/Documents/hadoop_file/output.txt
现在让我们看看文件是否合并到output.txt文件中。
在上图中,您可以很容易地看到该文件已成功合并到我们的output.txt文件中。