创建分区表:
create table if not exists china_partition(
ProvinceID int,
ProvinceName string,
CityID int,
CityName string,
ZipCode int,
DistrictID int,
DistrictName string)
partitioned by ( Province string,City string )
row format delimited fields terminated by ','
;
注意:分区字段名和数据字段名不能相同,不然报错如下:
hive> create table if not exists china_partition(
> ProvinceID int,
> ProvinceName string,
> CityID int,
> CityName string,
> ZipCode int,
> DistrictID int,
> DistrictName string)
> partitioned by ( ProvinceName string,CityName string )
> row format delimited fields terminated by ','
> ;
FAILED: SemanticException [Error 10035]: Column repeated in partitioning columns
分区表加载数据:
load data local inpath '/home/hadoop/china_data/beijing.txt' into table china_partition partition ( Province='beijing',city='beijing');