2016-07-27 43 views
5

我已经为蜂巢QL作业输出,产生多个小parquet文件,我想合并文件输出到单个文件的实木复合地板?如何使用linux或hdfs命令将多个实木复合地板文件合并为单个地板文件?

的是使用一些hdfs or linux commands做到这一点的最好方法是什么?

我们用来合并使用cat命令的文本文件,但将这项工作木地板呢? 我们可以做写输出文件像我们如何使用repartitionsparkcoalesc方法时,它使用HiveQL本身?

回答

0

一个工具,你还可以用做它HiveQL本身,如果你的执行引擎是mapreduce

你可以设置一个标志您的查询,这会导致蜂巢在您的工作结束合并小档案:

SET hive.merge.mapredfiles=true; 

SET hive.merge.mapfiles=true; 

如果你的工作是一个只图工作。

这将导致蜂巢的工作,许多小拼花文件自动合并到更少的大文件。您可以通过调整hive.merge.size.per.task设置来控制输出文件的数量。如果您只想要一个文件,请确保将其设置为始终大于输出大小的值。另外,请确保相应地调整hive.merge.smallfiles.avgsize。如果您想确保配置单元始终合并文件,请将其设置为非常低的值。你可以在配置单元documentation中阅读更多关于此设置的信息。

相关问题