Hive 动态分区插入配置单元

Hive 动态分区插入配置单元,hive,hiveql,Hive,Hiveql,我在使用动态分区将记录插入名为exam\u 51\u final的表时遇到问题,这是我的场景: create table exam_51_temp( order_id int, order_date bigint, order_customer_id int, order_status string) stored as avro TBLPROPERTIES ('avro.schema.url'='/user/ccp/20180827/51/avro.schema'); 打印输出时,我有: 6

我在使用动态分区将记录插入名为
exam\u 51\u final
的表时遇到问题,这是我的场景:

create table exam_51_temp(
order_id int,
order_date bigint,
order_customer_id int,
order_status string)
stored as avro
TBLPROPERTIES ('avro.schema.url'='/user/ccp/20180827/51/avro.schema');
打印输出时,我有:

68878   1404770400000   6753    COMPLETE    COMPLETE
68879   1404856800000   778     COMPLETE    COMPLETE
68880   1405202400000   1117    COMPLETE    COMPLETE
然后我的表格
考试\u 51\u期末
创建如下:

create table exam_51_final(
order_id int,
order_date bigint,
order_customer_id int,
order_status string)
partitioned by (order_month string)
stored as avro;
我使用以下方法激活动态分区:

set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
然后,我最后尝试以两种方式将记录从
exam\u 51\u temp
插入到
exam\u 51\u final
模拟虚拟动态分区列:

1)

select查询本身运行良好,但我始终收到以下错误消息:

FAILED: SemanticException Partition spec {order_m=null} contains non-partition columns

我的错误在哪里

Uff…我找到了解决方案:分区列名必须是order\u month,如果我输入不同的列名,我会收到上面的错误

insert into table exam_51_final partition(order_m) 
select order_id,order_date,order_customer_id,order_status, order_status as order_m
from exam_51_temp;
FAILED: SemanticException Partition spec {order_m=null} contains non-partition columns