Hive - 动态分区插入失败,分区少于一百个

时间:2016-09-14 01:19:08

标签: hadoop hive partitioning hortonworks-data-platform

我正在尝试使用动态分区将hive中的记录从一个表(未分区)插入到另一个表中。我在其他一些问题中建议设置这些蜂巢属性:

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个字段。我首先在沙盒上使用hortonworks HDP 2.4对此进行了测试。由于我在考虑资源问题,我已经转移到AWS上的4机m4.xlarge(4核,16 GB ram)集群。我无法访问沙箱上的9个不同分区,以及群集上的99个不同分区。我从Tez得到了一个顶点失败四次,然后就退出了工作。

非常感谢任何帮助或建议。谢谢。

0 个答案:

没有答案