日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Hadoop之BloomFilter

系統(tǒng) 3381 0

BloomFilter概述:

目的是檢索元素是否在某個集合中,基于hash,速度比較快,不需要存儲所有的元素,只需要按照某種方式存儲hash值即可,因此比較節(jié)約內(nèi)存,因此可以常駐內(nèi)存加快查找速度。同時利用多個hash來解決hash沖突問題

我們假定集合元素為一個列表,我們可以用一個bit列表來存儲此元素是否存在,如下所示:


?存在為1不存在為0,不過由于hash很容易沖突,那么可以基于多hash函數(shù)進行沖突的避免,每次設(shè)置對于的hash值為1,如下所示:



?也就是說x1經(jīng)過三次hash那么設(shè)置對應(yīng)的下標(biāo)為1,x2同理,當(dāng)查找判斷的時候我們只需要同樣獲取三次hash值進行定位,當(dāng)都為1的時候證明存在,反之則不存在,如下所示:



也就是說y1為不存在,因為有0,而y2,原則上存在,為什么是原則上呢?因為多次對位集合進行設(shè)置為1,而不清楚為0,那么很容易形成一個覆蓋,也就是說不存在的判斷是準(zhǔn)確的,而存在的判斷是不準(zhǔn)確的。

轉(zhuǎn)發(fā)請注明出處: http://snv.iteye.com/

總之:

1. BloomFilter能很快的判斷某元素是否存在

2.BloomFilter能準(zhǔn)確判斷不存在的,概率性判斷存在的

3.常駐內(nèi)存對大數(shù)據(jù)操作很快

Hadoop中的實現(xiàn):

      BloomFilter
CountingBloomFilter
DynamicBloomFilter
RetouchedBloomFilter
    

使用場景:

1.操作的文件很多,那么當(dāng)一個請求過來之后首先在內(nèi)存做判斷,如果有那么操作,如果沒有那么直接返回,如nosql系列等

2.大數(shù)據(jù)處理時,如爬蟲采集時對url做判斷,如果沒有采集過那么采集等

3.對否要求高,對是要求低的操作?

?

?

Hadoop之BloomFilter


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日喀则市| 界首市| 桃园县| 南开区| 宁乡县| 临桂县| 湘乡市| 建德市| 怀安县| 平度市| 新邵县| 二手房| 赤壁市| 遂平县| 榆社县| 民县| 陆川县| 天津市| 广州市| 岫岩| 上饶县| 象州县| 大同县| 宣城市| 当阳市| 凤冈县| 黄陵县| 肃宁县| 辽中县| 新巴尔虎左旗| 土默特左旗| 阳山县| 丰都县| 庆元县| 辽中县| 鄯善县| 工布江达县| 安仁县| 巴林左旗| 安西县| 遂昌县|