【Hive大数据】Hive分区表与分桶表使用详解

本文详细介绍了Hive中的分区表和分桶表。分区表通过分区概念提高查询效率,支持单分区和多分区,动态和静态加载。分桶表则是通过字段分桶优化查询,降低全表扫描,提升JOIN效率。文章通过实例演示了创建、操作和使用这两种表的方法及优点。

目录

一、分区概念产生背景

二、分区表特点

三、分区表类型

3.1 单分区

3.2 多分区

四、动态分区与静态分区

4.1 静态分区【静态加载】

4.1.1 操作演示

4.2 多重分区

4.2.1 操作演示

4.3 分区数据动态加载

4.3.1 分区表数据加载 -- 动态分区

4.3.2 操作演示

五、分桶表

5.1 分桶表概念

5.2 分桶规则说明

5.2.1 分桶基本规则

5.3 分桶完整语法树

5.4 分桶表操作演示

5.4.1 创建表

5.4.2 使用分桶表好处


一、分区概念产生背景

使用hive对表进行查询时,比如:select * from t_user where name =' lihua' ,hive执行这条sql的时候,一般会扫描整个表的数据,我们知道全表扫描的效率是很低的,尤其是对于hive这种最终数据的查询要走hdfs文件全表扫描效率就更低了。

事实上,在很多情况下,业务中需要查询的数据并不需要全表扫描,而是能够预知查询的数据在一定的区域中,基于这个前提,hive在建表的时候就引入了partition(分区)的概念。对应建表语法树位置如下:

二、分区表特点

分区表指的是在创建表时指定的partition的分区空间,如果需要创建有分区的表,需要在create表的时候调用可选参数partitioned by;

  • 一个表可以拥有一个或者多个分区,每个分区以文件夹的形式单独存在表文件夹的目录下;

    </
评论 122
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逆风飞翔的小叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值