一.需求
按照不同部门作为分区,导数据到目标表
二.使用静态分区表来完成
71.创建静态分区表:
1  | create table emp_static_partition(  | 
2.插入数据:
1  | hive>insert into table emp_static_partition partition(deptno=10)  | 
3.查询数据:
1  | hive>select * from emp_static_partition;  | 

三.使用动态分区表来完成
1.创建动态分区表:
1  | create table emp_dynamic_partition(  | 
2.插入数据:
1  | hive>insert into table emp_dynamic_partition partition(deptno)  | 
需要设置属性的值:
1  | hive>set hive.exec.dynamic.partition.mode=nonstrict;  | 
假如不设置,报错如下:
3.查询数据:
1  | hive>select * from emp_dynamic_partition;  | 

分区列为deptno,实现了动态分区
四.总结
在生产上我们更倾向是选择动态分区,
无需手工指定数据导入的具体分区,
而是由select的字段(字段写在最后,有几个写几个)自行决定导出到哪一个分区中, 并自动创建相应的分区,使用上更加方便快捷 ,在生产工作中用的非常多多。
