首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >表的高级操作:分桶

表的高级操作:分桶

作者头像
十里桃花舞丶
发布2021-09-10 11:11:50
发布2021-09-10 11:11:50
4840
举报
文章被收录于专栏:桥路_大数据桥路_大数据

表的高级操作:分桶

什么是分桶?

和分区一样,分桶也是一种通过改变表的存储模式,从而完成对表优化的一种调优方式。

但和分区不同的是,分区是将表拆分到不同的子目录中进行存储,而分桶是将表拆分到不同文件中进行存储。

那什么是分桶呢?它按分桶键哈希取模的方式,将表中数据随机、均匀地分发到若干桶文件中。

比如,对表的ID字段进行分桶,那ID字段被称为分桶键。ID字段存储的数据假设是1-10,执行分桶操作时,需要确定要分几个桶,这里定为3个;那么便会对分桶键中的值,按照桶的数量进行哈希取模,这里即对桶数3进行取余。那么,ID为3、6、9的数据会存放到第一个桶中,ID为1、4、7、10的会存放到第二个桶中,ID为2、5、8的则存放到第三个桶中。而每个桶在进行存储的时候,会存储为一个桶文件。

那分桶操作的目的是什么呢?它通过改变数据的存储分布,提升查询、取样、Join等特定任务的执行效率。

因为分桶之后,在数据查询中,根据分桶键的过滤条件,就可以直接通过哈希取模来确定数据存放的桶文件,从而减少需要处理的数据量;在海量数据场景中,能极大提升数据处理效率。而在数据取样过程中,可以直接对某几个桶文件进行取样,缩短取样时间。

其次,如果在Hive中,两张表需要进行join操作,转换为MapReduce或Spark作业之后&

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/08/18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 表的高级操作:分桶
    • 什么是分桶?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档