hive分桶管理
来源:互联网 发布:软件著作权 电话 编辑:程序博客网 时间:2024/05/01 01:26
分桶:按照用户创建表时指定的分桶字段进行hash散列多个文件
1.hive分桶的原理
跟MR中的HashPartitioner的原理一模一样
MR中:按照key的hash值去模除以reductTask的个数
Hive中:按照分桶字段的hash值去模除以分桶的个数
2.hive分桶的作用
好处:
1、方便抽样
2、提高join查询效率
3.hive分桶和分区的区别
分桶表和分区表的 桶数 和 分区数的 决定机制:
分桶表的个数:由用户的HQL语句所设置的reduceTask的个数决定
表的分区的个数:也能由用户自定义指定。也能由程序自动生成, 分区是可以动态增长的
分桶表和分区表的个数的区别:
分桶表是一经决定,就不能更改,所以如果要改变桶数,要重新插入分桶数据
分区数是可以动态增长的
log日志
一天存一个分区
分桶表和分区表中数据的表现:
1、分桶表中的每个分桶中的数据可以有多个key值
2、分区表中的每个分区只有一个 key值
分桶表的个数:由用户的HQL语句所设置的reduceTask的个数决定
表的分区的个数:也能由用户自定义指定。也能由程序自动生成, 分区是可以动态增长的
分桶表和分区表的个数的区别:
分桶表是一经决定,就不能更改,所以如果要改变桶数,要重新插入分桶数据
分区数是可以动态增长的
log日志
一天存一个分区
分桶表和分区表中数据的表现:
1、分桶表中的每个分桶中的数据可以有多个key值
2、分区表中的每个分区只有一个 key值
4.hive分桶的操作
首先创建一个分桶的空表,注意:是分桶的空表
然后创建个临时表,往临时表导入数据
然后在从临时表中分桶查询出来的数据insert到分桶的空表里
4.1创建分桶表
create table bck_student(id int,name string,sex string, age int,department string) clustered by(sex) into 2 buckets row format delimited fields terminated by ",";
4.2创建临时表并导入数据
create table student(id int,name string,sex string, age int,department string) row format delimited fields terminated by ",";
load data local inpath "/home/hadoop/student.dat" into table student;
load data local inpath "/home/hadoop/student.dat" into table student;
select * from sutdent;
4.3从临时表中分桶查询出来的数据insert到分桶的空表里
开启分桶
set hive.enforce.bucketing =true;
set mapreduce.job.reduces=2;
注意:上面代码中的set mapreduce.job.reduces的数量要和分桶数量一样
insert into table bck_student select id,name,sex,age,department from student distribute by sex; 4.4查看分桶结果
阅读全文
0 0
- hive分桶管理
- hive 分桶
- Hive-分区、分桶
- 7-hive 分桶
- hive分桶
- Hive分桶概念
- Hive(十九)--分桶
- Hive分桶
- Hive分桶(bucket)
- 大数据Hive的案例、参数、动态分区、分桶、视图、索引、运行方式、权限管理、Hive的优化_03_03
- hive分区与分桶
- Hive分区表与分桶
- Hive-分桶与排序
- Hive的分桶详解
- Hive分区、分桶操作及其比较
- Hive表的分区与分桶
- hive测试,分区,分桶,索引
- hive的分区和分桶
- 清理浮动那些事
- telnet协议详解
- github fork 出的仓库怎样与原仓库保持一致
- Python:for循环的使用-----求解转轴率pi
- 环信即时通讯聊天记录
- hive分桶管理
- 配置aop报错: Pointcut is not well-formed: expecting 'name pattern' at character position
- [笔记分享] [Camera] MTK Camera Performance
- 《聊聊架构》笔记记录
- HDU
- PIM SM 报文转发规则
- 笨办法学 Python · 续 练习 35:解释器
- linux acl 改变特定用户的文件权限
- Helper2416开发板学习①环境搭建