课程
/云计算&大数据
/大数据
/走近大数据之Hive入门
用name计算出的不同hash值数量肯定会大于5啊,放到5个桶里不是会溢出吗?
2016-10-03
源自:走近大数据之Hive入门 6-5
正在回答
每个桶里可以放很多数据的。哈希值只是分桶的依据罢了,目的是为了平均放在每个桶里。
假如有26个桶,按照name的首字母放入各个桶里,这也算一种方法。但是有些比如A开头的就比较少,S的可能就很多。如果使用一些Hash算法(比如MD5(tom)=34b7da764b21d298ef307d04d8152dc5),都变成一样长度的字符,这样0到F十六种字符开头的概率是一样的,分16个桶基本平均分配了,分2、4、6、8个桶也很简单。
实际中可以有很多种Hash算法,和分桶算法(一般按照Hash的二进制分)。
alannnnnn 提问者
举报
Hive是基于HDFS的数据仓库,教程将向大家介绍Hive的体系结构