博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hive分桶?
阅读量:6150 次
发布时间:2019-06-21

本文共 402 字,大约阅读时间需要 1 分钟。

  hot3.png

  桶是更细力度的划分,把表划分为桶的理由:

1.取样更高效。具体划分桶是按值进行hash,然后除以桶的个数取余,任何一个桶内都是一个随机划分的用户集合。在处理大规模数据集时,在开发和修改查询的阶段,如果能在数据集的一小部分数据上试运行查询,会带来很多方便。

2.获得更高的查询处理效率。桶为表加上了额外的结构,Hive在处理有些查询时能利用这个结构。具体而言,连接两个在(包含连接列的)相同列上划分了桶的表,可以使用Map端连接(Map-side join)高效的实现。处理左边表的某个桶的mapper就知道右边表内相匹配的行在对应的桶,这样mapper直接就可以在对应的右边表的桶获取数据进行join。并不一定要求两个表必须有相同的桶个数,倍数关系也可以。

  具体划分桶是将值进行hash,然后除以桶的个数取余。

转载于:https://my.oschina.net/134596/blog/1799003

你可能感兴趣的文章
linux常用命令
查看>>
Netty3.10.1:关于TCP粘包问题 及 Encoder&Decoder
查看>>
saltstack(九)returner
查看>>
Oracle 学习之RMAN(十四)恢复实战--基于时间点恢复
查看>>
Tomcat的JVM设置和连接数设置查看JVM
查看>>
iOS NSLog调试技巧
查看>>
IP数据报头详解
查看>>
线程安全-Lock锁&synchronized
查看>>
QuiltView 瀑布流 (第三方)
查看>>
ARM推出全球功耗效率最高的64位处理器Cortex-A50系列
查看>>
Maven工程配置代码覆盖工具Jacoco
查看>>
linux挂载U盘:mount: unknown filesystem type 'ntfs'
查看>>
3.Spark之简介Streaming
查看>>
XenMobile 10和XenApp、XenDesktop集成配置
查看>>
linux开机提示kernel panic - not syncing attempted to kill init
查看>>
线程安全么?
查看>>
python获取参数
查看>>
android: scrollbarStyle
查看>>
我的友情链接
查看>>
Vue.js 案例资料汇总
查看>>