Hive 配置单元:无法将数据从未分区表复制到分区表

Hive 配置单元:无法将数据从未分区表复制到分区表,hive,hql,hiveql,Hive,Hql,Hiveql,我有一张没有分区的桌子 create table tabUn ( col1 string, col2 int ) CREATE EXTERNAL TABLE tabPart ( col1 string, col2 int ) PARTITIONED BY (col_date string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE LOCATION '/path/to/

我有一张没有分区的桌子

create table tabUn 
(
    col1 string,
    col2 int
)
CREATE EXTERNAL TABLE tabPart 
(
    col1 string,
    col2 int
)
PARTITIONED BY (col_date string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE
LOCATION '/path/to/table';
假设它有一些数据。接下来,我创建了一个分区表

create table tabUn 
(
    col1 string,
    col2 int
)
CREATE EXTERNAL TABLE tabPart 
(
    col1 string,
    col2 int
)
PARTITIONED BY (col_date string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE
LOCATION '/path/to/table';
最后,我试着把数据复制过来

set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
INSERT OVERWRITE TABLE tabPart PARTITION(data_date='2018-10-01')
SELECT 
(
    col1,
    col2,
    '2018-10-01' as col_date
) select * FROM tabUn;
但是我得到了下面的错误

失败:NullPointerException null


我做错了什么?

您的select语句似乎不正确

INSERT OVERWRITE TABLE tabPart PARTITION (data_date='2018-10-01')
SELECT col1,col2,'2018-10-01' as col_date from tabUn;