Hive分区

本文介绍了Hive分区的概念、作用以及如何创建和操作分区表,包括静态和动态分区,多级分区的实现,并提供了相应的SQL示例。分区能够提高查询效率,避免全表扫描,通常按日期、地域等进行划分。
摘要由CSDN通过智能技术生成

目录

一、分区的概念及作用

二、如何实现分区表

1、分区表的简单创建及简单使用(增删查改)

(1)建立分区表

(2)增加一个分区:

(3) 删除一个分区:

(4)查看某个表的所有分区

(5)往分区中插入数据:

2、 查询某个分区的数据:

3、 Hive动态分区

(1)开启Hive的动态分区支持

(2)建立原始表并加载数据sql

(3)建立分区表并加载数据sql

(4)使用动态分区插入数据

5、多级分区


一、分区的概念及作用

概念:分区表实际上是在表的目录下在以分区命名,建子目录

作用:进行分区裁剪,避免全表扫描,减少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; // 不推荐

(5)往分区中插入数据ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值