1.分区类型非字符串型
1.1 创建分区表 tp
create table tp(c1 string) partitioned by (pc int) stored as textfile;
1.2 往 pc=1分区插入一条数据。
insert into tp (c1,pc)values('1',1);
1.3 往 pc=2分区插入一条数据。
insert into tp (c1,pc)values('2',2);
1.4 显示当前分区
两个分区
hive> show partitions tp;
OK
pc=1
pc=2
1.5 插入数据,不指定分区
insert into tp (c1)values('3');
1.6 显示当前分区
三个分区,多了一个分区 pc=__HIVE_DEFAULT_PARTITION__
hive> show partitions tp;
OK
pc=__HIVE_DEFAULT_PARTITION__
pc=1
pc=2
1.7 仅检索默认分区的数据
hive> select * from tp where pc is NULL;
OK
3 NULL
2.分区类型字符串型
2.1 创建分区表 tp_str
create table tp_str(c1 string) partitioned by (pc string) stored as textfile;
2.2 往 pc=1分区插入一条数据。
insert into tp_str (c1,pc)values('1','1');
2.3 往 pc=2分区插入一条数据。
insert into tp_str (c1,pc)values('2','2');
2.4 显示当前分区
两个分区
hive> show partitions tp_str;
OK
pc=1
pc=2
2.5 插入数据,不指定分区
insert into tp_str (c1)values('3');
2.6 显示当前分区
三个分区,多了一个分区 pc=__HIVE_DEFAULT_PARTITION__
hive> show partitions tp_str;
OK
pc=__HIVE_DEFAULT_PARTITION__
pc=1
pc=2
2.7 仅检索默认分区的数据
hive> select * from tp_str where pc='__HIVE_DEFAULT_PARTITION__';
OK
3 __HIVE_DEFAULT_PARTITION__