set hive.execution.engine=mr;
--在 map-reduce 作业结束时合并小文件。如启用,将创建 map-only 作业以合并目标表/分区中的文件。
set hive.merge.mapredfiles=true;
set hive.merge.rcfile.block.level=true;
--合并后所需的文件大小。应大于 hive.merge.smallfiles.avgsize。(8G)
set hive.merge.size.per.task=9216000000;
--当作业的平均输出文件大小小于此属性的值时,Hive 将启动额外的 map-only 作业来将输出文件合并成大文件。仅当 hive.merge.mapfiles 为 true 对map-only 作业执行,当 hive.merge.mapredfiles 为 true 时对 map-reduce 作业执行,以及当 hive.merge.sparkfiles 为 true 时对 Spark 作业执行。
set hive.merge.smallfiles.avgsize=8192000000;