hive表分区
表分区是指将数据按照物理分层的方式进行区分开,加快查询的速度,同时也起到数据快照的作用!
创建分区表的关键字:partitioned by ,可以指定单个字段也可以指定多个字段;
partitioned by (dt String,country string);
create table pt_test(ts bigint,line string)
partitioned by (dt String,country string);
往分区表插入数据:
load data local inpath '/root/hive/partitions/file1' into table pt_test partition (dt='2001-01-01',country='GB’);
动态分区不能使用load加载数据,需要使用insert into
hive静态分区和动态分区
hive支持两种类型的分区:静态分区和动态分区
静态分区与动态分区的主要区别在于静态分区是手动指定,而动态分区是通过数据来进行判断。详细来说,静态分区的列实在编译时期,通过用户传递来决定的;动态分区只有在 SQL 执行时才能决定
默认创建的分区是静态分区,如果要指定动态分区可以通过以下配置:
查看表分区:
show partitions tbl;
如果要配置动态分区修改以下两个配置:
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.p

本文介绍了Hive中的表分区、静态与动态分区、分桶的概念和操作,以及视图和索引的使用。分区有助于加快查询速度和数据管理,分桶提供了更细粒度的数据划分,视图简化复杂查询,而索引则能提升查询效率。同时,文章提到了Hive索引的创建和重建,以及其优缺点。
最低0.47元/天 解锁文章
3540

被折叠的 条评论
为什么被折叠?



