目录
一、分区的概念及作用
概念:分区表实际上是在表的目录下在以分区命名,建子目录
作用:进行分区裁剪,避免全表扫描,减少MapReduce处理的数据量,提高效率
一般在公司的hive中,所有的表基本上都是分区表,通常按日期分区、地域分区
分区表在使用的时候记得加上分区字段
分区也不是越多越好,一般不超过3级,根据实际业务衡量
二、如何实现分区表
1、分区表的简单创建及简单使用(增删查改)
(1)建立分区表
create external table students_pt1
(
id bigint,
name string,
age int,
gender string,
clazz string
)
PARTITIONED BY(pt string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
(2)增加一个分区:
alter table students_pt1 add partition(pt='20210904')
(3) 删除一个分区:
alter table students_pt drop partition(pt='20210904');
(4)查看某个表的所有分区
方式一:show partitions students_pt; // 推荐这种方式(直接从元数据中获取分区信息)
方式二:select distinct pt from students_pt; // 不推荐

本文介绍了Hive分区的概念、作用以及如何创建和操作分区表,包括静态和动态分区,多级分区的实现,并提供了相应的SQL示例。分区能够提高查询效率,避免全表扫描,通常按日期、地域等进行划分。
最低0.47元/天 解锁文章
1188

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



