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

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論