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

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

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

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

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

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

分区表和分桶表的区别:

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

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

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

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

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

相关文章
|
4月前
|
人工智能 监控 搜索推荐
AI智能体的开发及上线
AI智能体已步入工程化落地新阶段,核心在于感知、规划、记忆与工具调用能力。本文系统梳理从角色定义、知识库构建、提示词编排、RAG集成、工具对接到灰度测试、合规上线及持续优化的全生命周期方法论,助力高效打造可靠、安全、可演进的企业级智能体。(239字)
|
SQL 分布式计算 监控
终于有人把数据倾斜讲清楚了
本文深入剖析大数据处理中的“数据倾斜”问题,从现象到本质,结合真实踩坑经历,讲解数据倾斜的成因、典型场景及四步精准定位方法,帮助开发者从根本上理解和解决这一常见难题。
2163 29
终于有人把数据倾斜讲清楚了
|
存储 分布式计算 监控
大数据数据倾斜处理
【11月更文挑战第4天】
1196 7
|
SQL 存储 HIVE
hive分区与分桶
hive分区与分桶
1074 1
|
存储 数据中心 云计算
|
存储 项目管理 开发工具
图解Git——分支开发工作流《Pro Git》
分支开发工作流利用Git的分支功能,支持灵活的项目管理。长期分支如`master`和`develop`分别保存稳定和开发中的代码;短期主题分支用于开发单一特性或修复问题,完成后合并到主分支。此模式确保代码稳定性,支持并行开发、便于审查和灵活调整。建议维护明确的长期分支,保持主题分支短小精悍,并定期清理无用分支。配置上可保护关键分支,遵循命名规范。
850 7
|
SQL 移动开发 大数据
SQL语句查询连续六天满足条件的记录
在数据库管理和数据分析中,我们经常需要查询符合特定时间范围内连续几天的记录
|
NoSQL 关系型数据库 分布式数据库
【赵渝强老师】HBase的表结构
本文介绍了Google的BigTable思想及其对HBase的影响。BigTable将所有数据存入一张表中以提高查询性能,而HBase作为其具体实现,采用列式存储,适合数据分析和处理。文章通过示例说明了HBase的表结构和数据插入方法,并提供了相关代码和图示。
810 0
|
存储 关系型数据库 Apache
Apache Doris 实时数据仓库的构建与技术选型方案
Apache Doris 实时数据仓库的构建与技术选型方案
2809 32
Node历史版本下载及配置npm镜像
Node历史版本下载及配置npm镜像
1969 1

热门文章

最新文章