背景:
实际项目中,小文件的产生会影响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');
指定分区进行归档之后,就不可以进行数据的追加或覆写操作.所以一般对不更新数据的历史分区进行archive操作.
2.对指定分区进行解档操作:
#对分区表已经归档的分区进行解档操作

本文介绍了在实际生产环境中,Hive小文件对Hadoop集群性能的影响,如消耗NameNode内存和降低Job运行效率。为解决此问题,提出了对Hive历史分区的小文件进行归档处理的解决方案,包括对特定分区的归档和解档操作,以确保数据管理和性能优化的灵活性。
最低0.47元/天 解锁文章
927

被折叠的 条评论
为什么被折叠?



