当向已经分区的表插入数据时,有可能会报错:
1
|
Need to specify partition columns because the destination table is partition
|
原因是需要在插入的数据中指定分区字段的数值是多少。
比如:
建表语句:
1
2
3
4
5
6
7
8
9
|
CREATE TABLE test (
starttime STRING,
endtime STRING,
title STRING
)
PARTITIONED BY (username STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '|'
STORED AS TEXTFILE;
|
1
2
3
4
5
6
7
8
9
|
CREATE TABLE test2 (
starttime STRING,
endtime STRING,
title STRING
)
PARTITIONED BY (username STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '|'
STORED AS TEXTFILE;
|
插入语句:
1
2
|
INSERT INTO TABLE test PARTITION(username='admin')
SELECT starttime, endtime, title FROM test2 WHERE username = 'admin';
|