繁体   English   中英

缓慢加载分区的Hive表

[英]Slow loading of partitioned Hive table

我正在Hive中加载一个按日期分区的表。 它目前包含大约3年的记录,所以大约900个分区(即365 * 3)。

我正在将每日增量加载到此表中,每天添加一个额外的分区。 我使用动态分区来实现这一点,因为我无法保证我的源数据只包含一天的数据(例如,如果我从失败中恢复,我可能需要多天处理数据)。

这一切都很好,但是我注意到实际编写分区的最后一步变得非常慢。 我的意思是日志显示MapReduce阶段快速完成,它在最后一步非常慢,因为它似乎扫描并打开所有现有分区,无论它们是否会被覆盖。

我应该明确创建分区以避免这一步吗?

分区是动态的还是静态的通常不应该大幅改变性能。 你能检查每个分区有多少实际文件被创建? 只是想确保实际写入不是序列化的,如果它只写入一个文件就可以。 还要检查作业使用了多少映射器和缩减器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM