hive-dynamic partition insert失败,分区少于100个

ecfdbz9o  于 2021-06-02  发布在  Hadoop
关注(0)|答案(0)|浏览(219)

我正在尝试使用动态分区将配置单元中的记录从一个表(未分区)插入到另一个表。我已经按照其他几个问题中的建议设置了这些配置单元属性:

hive.exec.dynamic.partition=True 
hive.exec.dynamic.partition.pernode=5000
hive.exec.dynamic.partition.pernode=2048
hive.exec.dynamic.partition.mode=nonstrict

您可以在这里找到表定义以及我正在运行的插入查询:
非分区表

CREATE EXTERNAL TABLE IF NOT EXISTS dataretention.non_partitioned(
 recordType STRING,
 potentialDuplicate STRING,
 ...
 partDate STRING,
 partHour STRING,
 ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' LOCATION '/tmp/temp-tables/csv/not-partitioned'

分区表

CREATE TABLE IF NOT EXISTS dataretention.partitioned(
 recordType STRING,
 potentialDuplicate STRING,
 ...)
 PARTITIONED BY (partDate STRING, partHour STRING) STORED AS ORC LOCATION '/tmp/temp-tables/partitioned'

插入查询

INSERT INTO dataretention.partitioned PARTITION(partDate, partHour) SELECT recordType, ... partDate, partHour FROM dataretention.non_partitioned;

文件有1000条记录长,表有158个字段。我首先在沙盒上使用hortonworkshdp2.4进行了测试。因为我在考虑一个资源问题,我已经转移到aws上的一个4机m4.xlarge(4核,每个16GB内存)集群。我无法检查沙盒上的9个不同分区,以及集群上的99个不同分区。我得到了一个顶点失败,从tez四次之后,它退出了工作。
任何帮助或建议都非常感谢。谢谢您。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题