HIVE - java.lang.OutOfMemoryError:Java堆空间 - hive表超过700列

时间:2018-03-16 08:09:07

标签: java hive

我有一个hive外部文本文件表(表名:tmp),大约有700列。 当我尝试使用命令" insert into table inner_table select * from tmp;"创建内部orc表(表名:inner_table)时。

我收到了“java.lang.OutOfMemoryError:Java堆空间”错误。

我用50列完成了类似的任务。 但这次有700列,我失败了。

我已经在下面设置了这些属性。但仍然没有成功。

--set mapreduce.map.memory.mb=8000;

--set mapreduce.map.java.opts=-Xmx8000m;

--set mapreduce.reduce.memory.mb=8000;

--set mapreduce.reduce.java.opts=-Xmx8000m;
请问有人可以帮我解决这个问题。 感谢

TMP:

create external table tmp(
col_1 string,
.
.
.
col_700 string
)
row format delimited fields terminated by ','
null defined as '\\N'
stored as textfile
location 'hdfs://fin:8020/data/raw/2018/03/16/06';

inner_table:

create table inner_talble(
col_1 string,
.
.
.
col_700 string
)
clustered by (col_1)
sorted by (col_1)
into 30 buckets
stored as orc;

命令:

hive> insert into table inner_table select * from tmp;

0 个答案:

没有答案