您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

实际生产中:Hive 合并小文件(强烈建议此法)

背景:

实际项目中,小文件的产生会影响hadoop集群的性能;过度使用namenode的内存等;启动过多的map任务,拉低整体Job的运行效率等等弊端。

解决方案:

针对Hive表(下文统称表A)中,特别是历史分区,存在大量小文件的话,强烈建议对分区下的小文件进行归档处理。

1.以下是合并小文件的处理方式:

#使用hive archive 功能(这个是hive本身提供的功能)
#启动archive功能
set hive.archive.enabled = true;
#对hive表的指定分区进行归档操作
alter table A ARCHIVE PARTITION (day ='2021-06-01');
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 指定分区进行归档之后,就不可以进行数据的追加或覆写操作.所以一般对不更新数据的历史分区进行archive操作.

2.对指定分区进行解档操作:

#对分区表已经归档的分区进行解档操作
alter table A UNARCHIVE PARTITION (day ='2021-06-01');
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

此操作就是防止有分区需要进行数据更新的情况,就可以进行解档操作,比较灵活.

各位小伙伴,若有疑问欢迎留言讨论哈

 


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进