2024Bit Map在大數(shù)據(jù)精準(zhǔn)營(yíng)銷中的應(yīng)用_第1頁(yè)
2024Bit Map在大數(shù)據(jù)精準(zhǔn)營(yíng)銷中的應(yīng)用_第2頁(yè)
2024Bit Map在大數(shù)據(jù)精準(zhǔn)營(yíng)銷中的應(yīng)用_第3頁(yè)
2024Bit Map在大數(shù)據(jù)精準(zhǔn)營(yíng)銷中的應(yīng)用_第4頁(yè)
2024Bit Map在大數(shù)據(jù)精準(zhǔn)營(yíng)銷中的應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

BitMapuid,用戶設(shè)備號(hào)等。還有就是用戶標(biāo)簽數(shù)據(jù),也達(dá)到千萬(wàn)級(jí),包含數(shù)據(jù)用的社會(huì)屬性,olap中的概念。除了數(shù)據(jù)之外還有產(chǎn)品要求,需要在線應(yīng)用,性能要求較高,必須做到毫HBaseDruid但是我們選用Bit,因?yàn)橐罁?jù)數(shù)據(jù)需求簡(jiǎn)單而且Bit只有維度沒有度量,還有就是維度個(gè)數(shù)KylinDruiduid4G,因此在幾百上千維度查詢效率會(huì)降低;還有一個(gè)就是uid用戶量大,Kylin和Druid會(huì)將uid和其他維度進(jìn)行組合會(huì)出現(xiàn)很多情況,會(huì)額外增加數(shù)據(jù)量,因此這種請(qǐng)款也不適合用HBASE+BitMapHBASE做數(shù)據(jù)存儲(chǔ),將HBASE做處理器做并行計(jì)算,BitMap構(gòu)建索引。HBASEactiveregionmasterHfileregionserverHDFSregionserverregionregion一個(gè)region會(huì)有管理范圍,分區(qū)是用regionserver管理。HBASE有很多特點(diǎn),第一個(gè)就是海量存儲(chǔ),其底層是基于HDFS,是橫向存儲(chǔ),可以加很PB能在2w+;第五個(gè)就是稀疏,當(dāng)列中屬性為空,不占用存儲(chǔ)空間。前面講存儲(chǔ)是HBASE,計(jì)算是HBASE協(xié)處理器,HBASE協(xié)處理器分為兩種,一種是countregion由于串行計(jì)算,同時(shí)會(huì)將數(shù)據(jù)從服務(wù)端加載到客戶端。Endpoint會(huì)以并行方式實(shí)現(xiàn),會(huì)將客戶端請(qǐng)求發(fā)送到所有region上,每個(gè)region分擔(dān)數(shù)據(jù)量,最后將數(shù)據(jù)返回協(xié)處理器客可能你們會(huì)對(duì)BitMap了解很少,其應(yīng)用場(chǎng)景比較單一,但是在某些方面效果比較好。BitMap底層實(shí)現(xiàn)是一個(gè)位數(shù)組,位數(shù)組的value取值只能是0或1,因?yàn)槭菙?shù)組,數(shù)組下214748364710BitMapBitMapapi1,如圖中63571BitMapBitMapBloomfilter,是對(duì)應(yīng)于一組hashmap對(duì)應(yīng)一個(gè)BitMap,是犧牲一定錯(cuò)誤率來釋放存儲(chǔ)空間,如在HBASE的索引和爬蟲URL判重。但是重點(diǎn)是作為索引,其實(shí)它在數(shù)據(jù)庫(kù)、搜索引擎和OLAP應(yīng)用很多。狀況兩個(gè)維度,性別有兩個(gè)取值,婚姻狀況有三個(gè)取值,BitMap首先會(huì)在維度里面構(gòu)建BitMap,第一步如何構(gòu)建性別的BitMap,對(duì)于性別這個(gè)列,位圖索引形成兩個(gè)向量,男1010010,同理,女向量110000010000010BitMap,首BitMap有很多實(shí)現(xiàn)方式,構(gòu)建框架也有很多。最后我們選用RoaringBitmap,選擇的原因在于:我們存儲(chǔ)的是整數(shù),將下標(biāo)標(biāo)簽取值設(shè)為1,該框架將整數(shù)i的高16位會(huì)被用于構(gòu)造塊,存儲(chǔ)到keys中,低16位則被看做value,存儲(chǔ)到Container[]values中的某個(gè)BitMap壓。RoaringBitmap在開源框架里應(yīng)用很多,如olap中有kylin、Druid、piont等,搜索引擎方面有Lucene、slor、Elasticserach等,還有spark、hive、tez等。也有很多實(shí)現(xiàn)語(yǔ)言,比如Java、C、C++、Python等。HBASEBitMap化層,給用戶提供頁(yè)面,選擇標(biāo)簽,然后接口層傳入標(biāo)簽,提供API服務(wù),將選擇標(biāo)簽傳大(十億級(jí)標(biāo)簽)BitMapMRuid桶、gididbulkloadBitMapregionserveruidididBitMap列化后生成HFile,BulkloadBitMap索引。存儲(chǔ)計(jì)算層完成Hbase:存儲(chǔ)索引數(shù)據(jù),Hbasecop:分布式計(jì)算,RoaringBitmap計(jì)算請(qǐng)求參數(shù):新客營(yíng)銷、存客營(yíng)銷,將請(qǐng)求通過copRegionServer。接口層完nettyhttp接下來講一下第四部分實(shí)現(xiàn)細(xì)節(jié),講幾個(gè)關(guān)鍵重點(diǎn):id分區(qū),分區(qū)構(gòu)建BitMap索引,coprocessor實(shí)現(xiàn)。用戶有十億,并不是直接將數(shù)據(jù)構(gòu)建BitMap,會(huì)對(duì)id進(jìn)行分區(qū),依Idididbitmap10存儲(chǔ)開銷大;id不分區(qū),如果id超過了整數(shù)最大范圍,無(wú)法構(gòu)建bitmap索引。id,idhbase10id200500idhbaseregionstartkey/endkeyregionrowkey,0-500regionhbaseregion500rowkeyhbasehbaseregion'index',{METHOD=>'table_att',METADATA=>{'SPLIT_POLICY'=> Policy'}},{NAME=>'d',COMPRESSION=>'SNAPPY'},SPLITS=>[‘0005000000’,000,000,000,000 ,'10000000000

000,500roamBitMap會(huì)輸出rowkey和value。將每一個(gè)region里面的標(biāo)簽設(shè)為key,標(biāo)簽會(huì)對(duì)應(yīng)BitMap,region有范圍只會(huì)生成相應(yīng)的BitMap。如第一個(gè)region,startkey為0,構(gòu)建的標(biāo)簽為200500region5005001000id,BitMap有幾個(gè)特點(diǎn):每個(gè)分區(qū)包含部分id,每個(gè)分區(qū)包含所有標(biāo)簽,Rowkeystartkey_tag,Value:BitMap索引,BitMap下標(biāo)范圍[0,500萬(wàn))。在后續(xù)分區(qū)可能idstartkeyidsetid0-500萬(wàn),避idBitMapregion3BitMap的例子,startkey是1500萬(wàn),每一個(gè)標(biāo)簽對(duì)應(yīng)一個(gè)索引。建完索引,接著就是協(xié)處理器實(shí)現(xiàn)——coprocessor實(shí)現(xiàn),這個(gè)其實(shí)比較關(guān)鍵,扮演著并regionserver,傳給協(xié)處理器的服務(wù)端,傳入Cop-server,比如查詢selectidfromtablewhereDim1=tag1_3and(Dim3=tag3_1orDim3=tag3_2orDim3=tag3_3or…)and…and(Dim..n=tagn_1orDim..n=tagn_2or…);用戶選擇相應(yīng)維度,返回標(biāo)簽,協(xié)處理器客戶端會(huì)將標(biāo)簽重新組織,變成相關(guān)關(guān)系tag1_3and(tag3_1ortag3_2ortag3_3or…)and…and(tagn_1ortagn_2or…),發(fā)標(biāo)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論