7-hive 分桶
来源:互联网 发布:犀牛建模软件 编辑:程序博客网 时间:2024/05/21 21:36
1. 桶概念
对于每一个表或分区, Hive 可以进一步组织成桶。 Hive 也是针对某一列进行桶的组织。
Hive 采用对列值的哈希, 然后以桶的个数求余的方式决定该条记录存放在哪个桶中。
采用桶能够带来一些好处, 比如JOIN 操作。 对于 JOIN 操作两个表有相同的列, 如果对两个表都进行了桶操作。那么将保存列值的桶进行JOIN操作就可以, 可以大大减少JOIN的数据量。
hive 中 table 可以拆分成 partition , table 和 partition 可以通过 CLUSTERED BY 进一步分 bucket, bucket 中的数据可以通过 SORT BY 排序。
2. bucket 主要作用:
- 数据 sampling
- 提升某些查询操作效率, 例如 mapside join
说明:
需要特别注意的是: clustered by 和 sorted by 不会影响数据的导入。这意味着:用户必须自己负责数据如何导入, 包括数据的分桶和排序。
3. 使用分桶
3.1 准备 :
> set hive.enforce.bucketing=true
可以自动控制上一轮的 reduce 的数量从而适配 bucket 的个数。
用户也可自主设置 mapred.reduce.tasks 去适配 bucket个数
3.2 创建分桶
对 id 列进行hash 分桶
hive (saligia)> CREATE TABLE one(id TINYINT, context STRING) > CLUSTERED BY(id) INTO 4 BUCKETS > ROW FORMAT DELIMITED > FIELDS TERMINATED BY ' ' > STORED AS TEXTFILE ;
3.3 取样
hive (saligia)> SELECT * FROM one TABLESAMPLE(BUCKET 1 OUT OF 10);OKone.id one.context90 fasdlfkasdf
0 0
- 7-hive 分桶
- hive 分桶
- Hive-分区、分桶
- hive分桶
- Hive分桶概念
- hive分桶管理
- Hive(十九)--分桶
- Hive分桶
- Hive分桶(bucket)
- hive分区与分桶
- Hive分区表与分桶
- Hive-分桶与排序
- Hive的分桶详解
- Hive分区、分桶操作及其比较
- Hive表的分区与分桶
- hive测试,分区,分桶,索引
- hive的分区和分桶
- Hive分区、分桶操作及其比较
- unity3d代码规范
- Transaction check error:
- Android Ripple Effect
- windows安装docker
- Android之开启关闭关软键盘
- 7-hive 分桶
- 【SpringMVC】springmvc和json整合配置方法
- SweetAlert详解
- 算法练习笔记(七)——在BST树中的遍历
- 栈
- 【书山有路】SQL必知必会 第2课
- TCP/IP 协议栈 -- 编写UDP客户端注意细节
- c语言输出格式%*s
- SpringMVC——消息转换器HttpMessageConverter