【发布时间】:2019-01-30 15:44:17
【问题描述】:
我在 hive 阶段表中有一个 150 GB 的文件,它使用下表属性
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
"separatorChar" = "|",
"quoteChar" = "'",
"escapeChar" = "\\"
)
STORED AS TEXTFILE;
现在,当我在我的主表中加载这些数据时,它在运行一小时后失败并出现 java 堆错误。我正在使用分区主表,数据中有大约 12000 个分区。 为了加载我使用简单的 hql 的数据:
insert overwrite mainTable partition(date)
select * from stage table;
我也尝试将地图内存增加到 15GB,但还是失败了。 有没有办法优化这个? 任何包含 spark 或 hive 的解决方案都可以。
【问题讨论】:
标签: apache-spark hadoop memory hive cloudera