如何减少Apache Hive中的输出文件数量

Cru*_*ata 5 hadoop hive mapreduce emr

谁知道有一种工具可以将Apache Hadoop的输出文件“压缩”成更少的文件或一个文件。目前,我正在将所有文件下载到本地计算机,并将它们连接到一个文件中。谁也知道做同样的API或工具。提前致谢。

Tar*_*riq 4

限制输出文件的数量意味着您要限制减速器的数量。您可以借助mapred.reduce.tasksHive shell 的属性来做到这一点。例子 :

hive>  set mapred.reduce.tasks = 5;
Run Code Online (Sandbox Code Playgroud)

但它可能会影响查询的性能。或者,getmerge完成查询后,您可以使用 HDFS shell 中的命令。此命令将源目录和目标文件作为输入,并将 src 中的文件连接到目标本地文件中。

用法 :

bin/hadoop fs -getmerge <src> <localdst>
Run Code Online (Sandbox Code Playgroud)

华泰