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;

相关推荐
大菠萝爱上小西瓜3 小时前
使用etl工具kettle的日常踩坑梳理之一、从mysql中导出数据
数据仓库·etl
脸ル粉嘟嘟12 小时前
常用命令之Linux&Oracle&Hive&Python
linux·hive·oracle
脸ル粉嘟嘟14 小时前
大数据CDP集群中Impala&Hive常见使用语法
大数据·hive·hadoop
宝哥大数据14 小时前
数据仓库面试题集&离线&实时
大数据·数据仓库·spark
浊酒南街1 天前
hive中map_concat函数介绍
数据仓库·hive·hadoop
遥遥晚风点点2 天前
spark 设置hive.exec.max.dynamic.partition不生效
大数据·hive·spark
我的K84092 天前
Flink整合Hive、Mysql、Hbase、Kafka
hive·mysql·flink
Java资深爱好者2 天前
数据湖与数据仓库的区别
大数据·数据仓库·spark
三劫散仙3 天前
Hadoop + Hive + Apache Ranger 源码编译记录
hive·hadoop·hbase·ranger
dogplays3 天前
sqoop import将Oracle数据加载至hive,数据量变少,只能导入一个mapper的数据量
hive·oracle·sqoop