Hive-生成一个大文件(小文件合并)

  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;

猜你喜欢

转载自www.cnblogs.com/EnzoDin/p/10930458.html