hive分桶?

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值