我已经运行了一个只有674个映射器的地图作业,其中hive生成了674个.gz文件我希望将这些文件合并到30-35个文件中.通过不获取合并输出,尝试了hive megre mapfilse属性
尝试使用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
Run Code Online (Sandbox Code Playgroud)
如果你想使用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
Run Code Online (Sandbox Code Playgroud)
上面的设置将产生一个合并文件的步骤,每个零件文件的大小应该是128MB.
参考:
| 归档时间: |
|
| 查看次数: |
5080 次 |
| 最近记录: |