2023年11月26日发(作者:)

⼩⽂件治理之hive⽂件合并:hive⼩⽂件合并的三种⽅法

⽂章⽬录

前⾔

hive分区下,有很多⼩⽂件,例如⼀个分区有1000个⽂件,但每个⽂件⼤⼩是10k,数仓⼤量这种⼩⽂件。

⼩⽂件太多,需要消耗hdfs存储资源,mr,spark计算的任务数。

为了处理⼩⽂件,需要对它们进⾏合并。

⼀、concatenate⽅法

#对于⾮分区表

alter table tablename concatenate;

#对于分区表

alter table tablename partition(dt=20201224) concatenate;

优点: 使⽤⽅便 缺点: concatenate 命令只⽀持 RCFILE 和 ORC ⽂件类型,需要执⾏多次,才能把⽂件合并为1个。

⼆、insert overwrite⽅法

⽤这个⽅法就能去掉分区表的⽇期字段

注意,语法⽣效,需要设置