2016-10-01 145 views
2

我已经运行了674个映射器的映射器,这个映射器配置单元生成了674个.gz文件我想将这些文件合并到30-35个文件中。试图通过未获取合并的配置单元格megre mapfilse属性输出Hadoop合并文件

回答

6

尝试使用TEZ执行引擎,然后尝试使用hive.merge.tezfiles。您可能也想要指定大小。

set hive.execution.engine=tez; -- TEZ execution engine 
set hive.merge.tezfiles=true; -- Notifying that merge step is required 
set hive.merge.smallfiles.avgsize=128000000; --128MB 
set hive.merge.size.per.task=128000000; -- 128MB 

如果你想要去MR引擎然后添加以下设置(我还没有尝试过亲自)

set hive.merge.mapredfiles=true; -- Notifying that merge step is required 
set hive.merge.smallfiles.avgsize=128000000; --128MB 
set hive.merge.size.per.task=128000000; -- 128MB 

以上设置将催生一个步骤合并的文件和近似大小每个部分文件应该是128MB。

参考: