Hive分区和分桶

分区:

根据某一列进行进行划分存储,常用的有时间分区;

查询数据时只需要扫描特定的分区数据,不需要全盘扫描,节省时间,

方便数据归档和清理

创建分区表

create table table_name(

col1 int,

col2 string

)

partition by (dt string,country string);

插入分区

insert into table_name partition (dt='2024-06-19',country='china')

values(1,'data1'),(2,data2);

修改分区

alter table table_name partition ()

删除分区

alter table table_name drop partition(dt='2024-06-18');

分桶:

将表数据按照哈希函数的结果进行划分存储,将数据均匀分不到桶中,提高了查询的并行度和性能。

支持随机抽样

创建分桶

create table bucket_table_name(

col1 int,

col2 string

)

clustered by (col1) into 4 buckets

sorted by (col2);

插入数据

insert overwrite table bucket_table_name

select cols,col2

from table_name;

查询分桶数据

select *

from

bucket_table_name

where col1=1;

相关推荐
哥本哈士奇2 天前
数据仓库笔记 第六篇:PSA 层 SCD2 处理方式
数据仓库
曹牧2 天前
Java Web 开发:servlet-mapping‌
java·数据仓库·hive·hadoop
juniperhan2 天前
Flink 系列第20篇:Flink SQL 语法全解:从 DDL 到 DML,窗口、聚合、列转行一网打尽
大数据·数据仓库·分布式·sql·flink
哥本哈士奇3 天前
数据仓库笔记 第五篇:Data Mart 层(数据集市)
数据仓库
juniperhan3 天前
Flink 系列第18篇:Flink 动态表、连续查询与 Changelog 机制
java·大数据·数据仓库·分布式·flink
juniperhan3 天前
Flink 系列第19篇:深入理解 Flink SQL 的时间语义与时区处理:从原理到实战
java·大数据·数据仓库·分布式·sql·flink
哥本哈士奇3 天前
数据仓库笔记 第三篇:常用缓慢变化维处理方式介绍
数据仓库
哥本哈士奇4 天前
数据仓库笔记 第一篇:数据仓库的定义、历史与意义
数据仓库
哥本哈士奇4 天前
数据仓库笔记 第四篇:Star Schema 层(维度建模)
数据仓库
RestCloud4 天前
零售行业全渠道数据整合:ETL工具如何支撑精准营销?
数据仓库·etl·零售·数据处理·数据集成·数据传输·数据同步