分区表和分桶表(高频重点)

简介: 分区表和分桶表(高频重点)

分区表:分区表实际上对应 HDFS 文件系统上的独立的文件夹,其实就是分目录,将一个大的数据集根据业务需要分割成小的数据集。在查询时可通过 where 子句中的表达式选择指定的分区,以此避免全表扫描,从而提高查询效率。

分桶表:分区提供了一个隔离数据和优化查询的便利方式,但并不是所有的数据集都可形成合理的分区。对于一张表或者分区表,可以进一步组织成桶,也就是更为细粒度的数据范围。分桶就是将表中记录按分桶键的哈希值分散进多个小文件中,这些小文件称为桶。一般用于数据量极大的时候。

数据分散规则:分桶字段的 hash 值 对 分桶数量进行取模

分桶是相对分区进行更细粒度的划分。分桶将整个数据内容按照某列属性值的 hash 值进行区分,如要按照 name 属性分为 3 个桶,就是对 name 属性值的 hash 值对 3 取摸,按照取模结果对数据分桶。如取模结果为 0 的数据记录存放到一个文件,取模为 1 的数据存放到一个文件,取模为 2 的数据存放到一个文件

分区表和分桶表的区别:

1. 从表现形式上:分区针对的是数据的存储路径,分区表可以理解为文件夹;分桶针对的是数据文件,分桶表是文件。

2. 从创建语句上:分区表使用 partitioned by 子句指定,分桶表由 clustered by 指定。

3. 从数量上:分区表的分区个数可以增长,分桶表一旦指定就不能再增长。

4. 从作用上:分区可以避免全表扫描,根据分区列查询指定目录来提高查询速度

                    分桶的话,数据已经按照分桶字段进行了 hash 散列,所以分桶表数据进行                       抽样和 JOIN 时可以提高 MR 程序效率。

相关文章
|
6月前
|
分布式计算 关系型数据库 数据挖掘
实时数仓 Hologres产品使用合集之当使用动态分区管理功能按日期进行分区后,通过主键和segment_key进行时间范围查询性能变差是什么原因
实时数仓Hologres的基本概念和特点:1.一站式实时数仓引擎:Hologres集成了数据仓库、在线分析处理(OLAP)和在线服务(Serving)能力于一体,适合实时数据分析和决策支持场景。2.兼容PostgreSQL协议:Hologres支持标准SQL(兼容PostgreSQL协议和语法),使得迁移和集成变得简单。3.海量数据处理能力:能够处理PB级数据的多维分析和即席查询,支持高并发低延迟查询。4.实时性:支持数据的实时写入、实时更新和实时分析,满足对数据新鲜度要求高的业务场景。5.与大数据生态集成:与MaxCompute、Flink、DataWorks等阿里云产品深度融合,提供离在线
|
6月前
|
存储 关系型数据库 MySQL
【高频】什么是索引的下推和覆盖
【高频】什么是索引的下推和覆盖
242 2
|
7月前
|
SQL 存储 HIVE
Hive中的分桶表是什么?请解释其作用和使用场景。
Hive中的分桶表是什么?请解释其作用和使用场景。
254 0
|
存储 JavaScript Java
亿级别大表拆分 —— 记一次分表工作的心路历程
亿级别大表拆分 —— 记一次分表工作的心路历程
|
SQL 存储 缓存
霜皮剥落紫龙鳞,下里巴人再谈数据库SQL优化,索引(一级/二级/聚簇/非聚簇)原理
举凡后端面试,面试官不言数据库则已,言则必称SQL优化,说起SQL优化,网络上各种“指南”和“圣经”难以枚举,不一而足,仿佛SQL优化已然是妇孺皆知的理论常识,然后根据多数无知(Pluralistic ignorance)理论,人们印象里觉得多数人会怎么想怎么做,但这种印象往往是不准确的。那SQL优化到底应该怎么做?本次让我们褪去SQL华丽的躯壳,以最浅显,最粗俗,最下里巴人的方式讲解一下SQL优化的前因后果,前世今生。
霜皮剥落紫龙鳞,下里巴人再谈数据库SQL优化,索引(一级/二级/聚簇/非聚簇)原理
|
关系型数据库 MySQL 开发者
索引两表优化案例|学习笔记
快速学习索引两表优化案例
113 0
索引两表优化案例|学习笔记
|
SQL 关系型数据库 MySQL
[MySQL优化案例]系列 — 索引、提交频率对InnoDB表写入速度的影响
[MySQL优化案例]系列 — 索引、提交频率对InnoDB表写入速度的影响
140 0
[MySQL优化案例]系列 — 索引、提交频率对InnoDB表写入速度的影响
|
存储 Oracle 关系型数据库
[MySQL优化案例]系列 — 优化InnoDB表BLOB列的存储效率
[MySQL优化案例]系列 — 优化InnoDB表BLOB列的存储效率
187 0
[MySQL优化案例]系列 — 优化InnoDB表BLOB列的存储效率
|
SQL 关系型数据库 MySQL
索引单表优化案例|学习笔记
快速学习索引单表优化案例
130 0
|
关系型数据库 算法 数据库
Greenplum 数据分布黄金法则 - 论分布列与分区的选择
背景 阿里云ApsaraDB for Greenplum公测以来,已经收到好多用户的公测申请。 要使用Greenplum,登陆到数据库后第一件事当然是建表,然后倒入数据开测。 大部分用户以前是使用MySQL的,并没有接触过Greenplum,语法需要适应一下。 例如MySQL中的
13901 0

热门文章

最新文章