您好,登錄后才能下訂單哦!
本篇內容介紹了“Hbase案例分析”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
案例背景:各位,相信各位都有瀏覽鳳凰網的歷史,那么鳳凰網的廣告相信各位也都點擊過,可是各位有沒有發現一個現象。當你某天點擊一個廣告后,后面的幾天都會出現類似的廣告,現在各個大的網站都會有這樣的現象。比如你今天點擊了家具的廣告,那么之后,你就會發現跳出來的廣告都是與家具有關。
用戶行為分析。
也許各位都對這個名詞不會陌生。而這就是現實中的一個典型的用戶行為分析案例。
用戶行為分析,分析的是數據,數據從何而來,從數據庫中。數據庫中的數據從用戶的行為產生。鑒于這樣的流程,那么很自然的想到:如何實現?如果數據保存在Hbase中又該如何實現。
針對這樣的情形如果保存到傳統的關系型數據庫中很好設計,設計三張表,一個用戶表,一個廣告表,一個用戶操作記錄表,在操作記錄表中含有操作的廣告外鍵。
那么如果保存在Hbase中,因為之前沒有設計Hbase的經驗,下面就根據自己學習Hbase的知識,來設計我的第一個Hbase數據結構:
主題分析:用戶行為分析可以看成是用戶主題的一個需求。這里面提到一個用戶主題,一個主題,可以含有多個需求,比如用戶主題,可以含有用戶行為分析,可以含有用戶區域分析,可以含有用戶性別分析,可以含有用戶年齡結構分析,等等。下面主要講解如何在Hbase中實現用戶行為分析。
Hbase數據庫設計:
在Hbase中建立兩張表:
一張用戶表:USER ,該表含有兩個列族:一個為用戶屬性列族(族名:userProperty);另外一個為用戶行為屬性(actionProperty)。行健為:用戶ip
另外一張為廣告表:ADVERT ,其含有一個列族(adProperty)
下面說說兩個表,三個列族的列分別是什么:
USER:userProperty:用戶Ip區域(ipArea),用戶ip國際(ipCountry),用戶名ID(userId)
USER:actionProperty:點擊鏈接(link);廣告行健(adId);點擊時間(time),
ADERT:adProperty:廣告所屬行業(adHy),廣告利潤(adMoney),廣告所屬商家comp,
創建表這兩個表;
向廣告表的adProperty插入一個行健數據:
put 'ADERT','ad00120311', ' adProperty:adHy ','家具'
put 'ADERT','ad00120311', ' adProperty: adMoney','11.11'
put 'ADERT','ad00120311', ' adProperty: comp','淘寶'
下面分析一下用戶的流程并創建數據:
1:用戶第一次點擊鳳凰網的廣告,鳳凰網獲取到用戶的Ip與用戶id(如果登陸了),
2:鳳凰網根據用戶ip從USER表中從actionProperty中查詢該ip的操作記錄。如果沒有該ip的操作記錄:
則保存該用戶的ip,并保存這次的操作記錄,都是保存在USER表中但是保存的列族分別屬于actionProperty與userProperty中。
例子數據:
保存用戶屬性
put 'USER','11.11.11.1','userProperty:ipArea','上海'
put 'USER','11.11.11.1','userProperty:ipCountry','中國'
put 'USER','11.11.11.1','userProperty:userId','100001213'
保存用戶行為
put 'USER','11.11.11.1', 'actionProperty: link,'/ifeng.com/……'
put 'USER','11.11.11.1', 'actionProperty:adId','ad00120311'
put 'USER','11.11.11.1', 'actionProperty:time','20130623172900'
3:當下一次用戶再使用相同的IP進入到鳳凰網時,鳳凰網會更加用戶ip在用戶表USER的userProperty列族中尋找數據,如果能夠找到,利用ip在USER的actionProperty中尋找用戶的操作記錄。如果能夠找到,則便能夠獲得廣告的id。這表示這段時間,該用戶對該產品比較感興趣,所以需要推送該類型廣告,然后利用廣告id到廣告表ADVERT中尋找該廣告,然后尋找所有這個行業的廣告信息推送給用戶。
“Hbase案例分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。