我已经使用674个映射程序运行了一个只有映射的作业,它使用一个已生成的674个.gz文件,我想将这些文件合并到aroung 30-35 files.have,通过没有获得合并的输出尝试了hive mapfilse属性。
发布于 2016-10-03 02:59:06
尝试使用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以上设置将产生更多的步骤来合并文件,并且每个部件文件的大约大小应该是128 of。
参考资料:
https://stackoverflow.com/questions/39810149
复制相似问题