hive分桶

本文介绍了Hive中的分桶概念,强调了分桶如何通过哈希算法将相同key的数据分配到同一桶中,以提升查询效率。通过一个实例展示了创建分桶表的过程,包括准备数据、创建数据库、导入数据、查询分桶表等内容,突显了分桶在数据管理中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分桶的基本概念及注意事项

分桶是将数据集分解成更容易管理的若干部分的另一个技术。
桶表也是一种用于优化查询而设计的表类型:
• 桶是Hive中另一种将数据切分为更小的数据段的方式。
• 在使用桶时,每个桶是一个文件,存储有实际的数据(基于一个哈希算法所 分布的: 同一类型的key的数据,总是被放到同一个桶中).
• 桶并不需要向表添加一个虚拟列。
•创建通表时,指定桶的个数、分桶的依据字段,hive就可以自动将数据分桶存储。
• 查询时只需要遍历一个桶里的数据,或者遍历部分桶,这样就提高了查询效 率。
因为在HDFS 上存储时,一个桶存入一个文件中,这样根据clustered by 字段进行查询时,可以快速确定数据存在于哪个桶中,而只遍历一个桶可以 提供查询效率。

分桶的实例操作

准备student.txt文件

在这里插入图片描述

放在/home/hduser/hive-data下

创建一个数据库stu

在这里插入图片描述

使用数据库stu

在这里插入图片描述

先建一个普通的stu表

在这里插入图片描述

向普通的stu表中导入数据

在这里插入图片描述

创建分桶表

在这里插入图片描述

导入数据到分桶表,通过子查询的方式

在这里插入图片描述
在这里插入图片描述

查询分桶的数据

在这里插入图片描述

在hive中查看每个分桶的内容

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值