Hive 动态分区向表插入数据报错 GC overhead limit exceeded (分区过多场景)
admin
2024-01-22 05:55:03

问题描述

今天使用hive动态分区向表插入数据时,数据量不大几百万,2015年至今的数据,ods至dw层时按天分区。(华为云服务器 1T内存)
1.表使用的是parquet存储格式。
2.虽然数据量很小,但是分区比较多。

解决过程

1.直接执行hiveSQL 动态分区,调整参数都不行。
2.尝试插入不分区的临时表时,执行很快。(发现原因是分区的原因)
3.调整按月分区,很快完成。
4.再按天分区插入到dw表中,不报错,8分钟完成
5.第四步按天分区时,增加set hive.optimize.sort.dynamic.partition =true;该参数–启用自动排序参数,强制产生reduce任务。–数据量很小,但是分区比较多的情况适用
6.直接适用第五步的参数,ods至dwd动态分区,执行通过,8min完成

总结

–数据量很小,但是分区比较多的情况可以适用下面参数
set hive.optimize.sort.dynamic.partition =true;
–启用自动排序参数,强制产生reduce任务。

相关内容

热门资讯

朝中社刊文:必须遏制日本拥核野... 转自:北京日报客户端朝中社21日发表朝鲜外务省日本研究所所长的谈话,谴责日本大幅调整安保政策,指出其...
三亚一私人影院涉黄?警方:三人... 转自:北京日报客户端来源:三亚警方
预测市场押注“全球市值第一”:... 随着人工智能技术的进步持续推动股价走高,谷歌母公司Alphabet正在向全球市值第一的宝座发起冲击,...
中国移动联合华为、中兴推出业界... IT之家 12 月 21 日消息,中国移动研究院、中国移动河南公司近日联合华为、中兴正式推出业界首个...
梦见女人什么意思,梦见女人怎么... 周公解梦 梦见女人 男人梦见女人,有时只是性欲望的表示。有时可能表示你和母亲的关系,提醒你需要加...