分区表实际上就是对应一个HDFS文件系统上的独立的文件夹,该文件夹下是该分区所有的数据文件。Hive中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过WHERe子句中的表达式选择查询所需要的指定的分区,这样的查询效率会提高很多。
创建分区表:create table stu_par( id int, name string ) partitioned by (age int) row format delimited fields terminated by ','分区表基本操作:
1、导入分区数据 指定分区
load data local inpath '/opt/tmp/student.txt' into table stu_par partition(age=10);
2、查看表分区信息
show partitions stu_par;
3、添加分区
alter table stu_par add partition(age=20);
4、添加分区
alter table stu_par drop partition(age=20);
先创建一张表,便于动态分区表导入数据。
create table student( id int, name string, age int ) row format delimited fields terminated by ','
动态分区表
create table stu_par2( id int, name string, ) partitioned by (age int) row format delimited fields terminated by ','
开启动态分区命令:
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
插入数据到动态分区表:
insert into table stu_par partition(age) select * id,name,age from student;



