我的配置单元插入查询失败,出现以下错误:java.lang.outofmemoryerror:超出gc开销限制
表2中的数据=1.7tb查询:
set hive.exec.dynamic.partition.mode= nonstrict;set hive.exec.dynamic.partition=true;set mapreduce.map.memory.mb=15000;set mapreduce.map.java.opts=-Xmx9000m;set mapreduce.reduce.memory.mb=15000;set mapreduce.reduce.java.opts=-Xmx9000m;set hive.rpc.query.plan=true;
insert into database1.table1 PARTITION(trans_date) select * from database1.table2;
错误信息:启动作业1(共1个reduce任务)设置为0,因为没有reduce运算符失败:执行错误,从org.apache.hadoop.hive.ql.exec.mr.mapredtask返回代码-101。超出gc开销限制
群集信息:总内存:1.2tb总vCore:288总节点:8节点版本:2.7.0-mapr-1808
请注意:我试图插入表2的数据,这是在Parquet格式的表1是在orc格式。数据总量为1.8tb。
1条答案
按热度按时间7bsow1i61#
添加distribute by partition key可以解决以下问题:
set hive.exec.reducers.bytes.per.reducer=67108864; --this is example only, reduce the figure to increase parallelism