亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

計算出的hash值數量大于指定的桶數會怎么樣?

用name計算出的不同hash值數量肯定會大于5啊,放到5個桶里不是會溢出嗎?

正在回答

1 回答

每個桶里可以放很多數據的。哈希值只是分桶的依據罷了,目的是為了平均放在每個桶里。

假如有26個桶,按照name的首字母放入各個桶里,這也算一種方法。但是有些比如A開頭的就比較少,S的可能就很多。如果使用一些Hash算法(比如MD5(tom)=34b7da764b21d298ef307d04d8152dc5),都變成一樣長度的字符,這樣0到F十六種字符開頭的概率是一樣的,分16個桶基本平均分配了,分2、4、6、8個桶也很簡單。

實際中可以有很多種Hash算法,和分桶算法(一般按照Hash的二進制分)。

0 回復 有任何疑惑可以回復我~
#1

alannnnnn 提問者

非常感謝!
2016-10-07 回復 有任何疑惑可以回復我~
#2

alannnnnn 提問者

建表示是怎么通過腳本指定分桶方法的呢?系統是不是默認會平均分?
2016-10-07 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
走近大數據之Hive入門
  • 參與學習       54586    人
  • 解答問題       105    個

Hive是基于HDFS的數據倉庫,教程將向大家介紹Hive的體系結構

進入課程

計算出的hash值數量大于指定的桶數會怎么樣?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號