简介
Hive中的分区就是分文件夹,建立分区的目的就是通过指定的方式来减少扫范围,
进而提高查询效率,Hive中每个分区对应着表很多的子目录,将所有的数据按照分区列放入到不同的子目录中去。
静态分区与动态分区
Hive分区:
分区:根据插入时是否需要手动指定分区可以分为:
静态分区:导入数据时需要手动指定分区。(指定特定的文件夹也就是特定的值)
动态分区:导入数据时,系统可以动态判断目标分区。(不能直接用,要手动指定)
两者建表是没有任何区别 仅仅只是插入数据时有区别
例如: 按年分区
建表:
create table 表名(
.........
.......字段省略
)
partitioned by (year string)
row format delimited by terminated by "\t"
静态分区插入数据:
insert into table 表名(year="2020")
select
......
......字段省略
from 表名
动态分区插入数据:
insert into table 表名(year)
select
......
......字段省略
from 表名