当我尝试插入Partiotioned表时,我收到了波纹管错误 SemanticException [错误10044]:第1:23行无法插入目标表,因为列号/类型不同''美国':表insclause-0有2列,但查询已有3栏。
我的输入数据
1,aaa,US
2,bbb,US
3,ccc,IN
4,ddd,US
5,eee,IN
6,fff,IN
7,ggg,US
创建的配置表tx
create table tx (no int,name string,country string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
创建的分区表t1 按国家/地区划分
create table t1 (no int,name string) PARTITIONED BY (country string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
我尝试了两个插入,但失败了
INSERT OVERWRITE TABLE t1 PARTITION (country='US')
SELECT * from tx where country = 'US';
INSERT OVERWRITE TABLE t1 PARTITION (country='US')
SELECT no,name,country from tx where country = 'US';
错误 :SemanticException [错误10044]:第1:23行无法插入目标表,因为列号/类型不同''美国'& #39;:表insclause-0有2列,但查询有3列。
答案 0 :(得分:4)
非常感谢Samson Scharfrichter
INSERT OVERWRITE TABLE t1 PARTITION (country='US')
SELECT no,name from tx where country = 'US';
INSERT INTO TABLE t1 PARTITION (country='IN')
SELECT no,name from tx where country = 'IN';
我查看了分区
hive> SHOW PARTITIONS t1;
OK
country=IN
country=US
Time taken: 0.291 seconds, Fetched: 2 row(s)
hive>