您好,登錄后才能下訂單哦!
本篇文章為大家展示了基于DAYU如何搭建企業(yè)個性化推薦平臺,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
摘要:搭建這個平臺最費時耗力的事莫過于對批、流作業(yè)的編排,作業(yè)組織管理以及任務調度了。但是這一切,用DAYU的數(shù)據開發(fā)功能幾個任務可通通搞定。
大多數(shù)電商類企業(yè)都會搭建自己的個性化推薦系統(tǒng),利用自己擁有的用戶數(shù)據、商品數(shù)據、用戶行為數(shù)據以及各種維度計算得來的標簽畫像計算用戶偏好,推薦最佳商品給用戶,最大化地促進交易。
一個典型的推薦系統(tǒng)包括批處理計算、實時處理層、推薦應用3部分,是典型的Lamda架構。
搭建這個平臺最費時耗力的事莫過于對批、流作業(yè)的編排,作業(yè)組織管理以及任務調度了。但是這一切,用DAYU的數(shù)據開發(fā)功能幾個任務可通通搞定。當然,你可能會說,不是有專門的個性化推薦云服務嗎,直接用它不香嗎?這里我們不比賽舉杠鈴,如果企業(yè)還不具備利用各種推薦算法的能力,那直接花點錢買推薦服務是最佳選擇;但是你如果想最大化地、持續(xù)地優(yōu)化推薦算法的效果,框架還是自己搭比較靠譜。這里給一個例子,展示如何利用DAYU快速完成一個簡單的推薦系統(tǒng)。除了DAYU的數(shù)據開發(fā),還需要搭配華為云的DLI、DIS、MRS-HBase。
批作業(yè)
批作業(yè)只能被調度觸發(fā),任務執(zhí)行一段時間必須結束,換句話說就是任務不能無限時間持續(xù)運行。作業(yè)是多個算子(一個也可以)組成的Pipeline,Pipeline作為一個整體被調度。
實時作業(yè)
實時作業(yè)這個名字其實不準確,實際上它可以是一個流、批混合的作業(yè),也可以是個純實時流處理作業(yè),也可以是個單純的批作業(yè)。作業(yè)是由多個算子組成的Pipeline,相對批作業(yè),實時作業(yè)中每個算子可單獨被配置調度策略,而且算子啟動的任務可以永不下線,這樣就可以調度那些always online的Flink、SparkStreaming流處理作業(yè)。在實時作業(yè)里,帶箭頭的連線僅代表業(yè)務上的關系,而非任務執(zhí)行流程,更不是數(shù)據流。
這個推薦系統(tǒng)的后臺就使用實時作業(yè)來實現(xiàn),一個流、批混合的作業(yè),直接給個全景圖:
這里涵蓋了一個簡單推薦系統(tǒng)的主要計算流程。更多算法的任務流程這里沒有完全展示出來,例如基于模型的算法、基于深入學習的推薦算法,也不包含各種推薦指標的計算過程,有興趣的同學可以百度學習。
整個任務中包括9組數(shù)據處理流程,6個批作業(yè)流程,3個實時作業(yè):
從上到下,依次計算:
1)基于個用戶特征、標簽計算推薦列表
周期:每天一次
計算:每天通過CDM從RDS抽取用戶數(shù)據到DLI,基于每個用戶的基本信息,年齡、性別、職業(yè)、收入、地域等等各種屬性信息,以及來自360度畫像系統(tǒng)的標簽信息,生成推薦列表,保存到HBase中。
2)基于商品的相似性特征,計算推薦列表
周期:每天一次
計算:每天通過CDM從RDS抽取新增商品信息到DLI,然后計算出來的基于商品相似特征的推薦列表,存入HBase中。
3)計算當天用戶的偏好,生成日推薦列表
周期:每天一次
計算:通過DIS dump轉儲任務,把網站實時搜集的用戶行為信息轉儲到OBS中,通過一批Spark算法(批量的用戶協(xié)同、商品協(xié)同、基于內容相似性、LR等算法),基于一天的行為數(shù)據計算推薦列表。然后把列表推到HBase中。
4)計算本周用戶的偏好,生成周推薦列表
周期:每天一次
計算:計算行為同上,區(qū)別是基于一周的行為數(shù)據計算推薦列表。
5)計算3個月內的偏好,生成長期偏好推薦列表
周期:每天一次
計算:計算行為同上,區(qū)別是基于3個月的行為數(shù)據計算推薦列表。
6)計算流行產品的列表
周期:每天或者數(shù)小時
計算:通過用戶總體商品的點擊、搜索、評分等行為,基于OBS上用戶的行為數(shù)據,按類別計算熱門商品Top50。這個列表也可作為補齊列表,當其他推薦列表還不足以填滿網站的推薦位,可以用這個列表補齊。
1)實時計算用戶偏好--Item-Based協(xié)同算法
計算:通過Flink任務對DIS用戶行為通道的數(shù)據進行消費,先把用戶行為日志轉換為標準行為(Time,userid,ItemID,Score),再通過流式Item-Based協(xié)同算法計算推薦列表,更新到HBase中。
2)實時計算用戶偏好--User-Based協(xié)同算法
計算:同上,區(qū)別是使用流式User-Based協(xié)同算法計算推薦列表,更新到HBase中。
3)實時計算用戶偏好--Content-Based算法
計算:同上,區(qū)別是使用流式Content-Based協(xié)同算法計算推薦列表,更新到HBase中。
以上一頓操作,在HBase中會有一堆以UserID、Item為Key的推薦列表,形如:
用戶推薦列表結果:
userid_001:item100, item899, item 433, item 666,....
userid_002:item220, item334, item 720 item 666,....
userid_003:item728, item899, item 333, item 632,....
根據用戶實時行為、歷史行為不同周期,有若干組不同的推薦列表。
基于商品的推薦列表結果:
Item_0001: Item1000,Item333,time5213,...
Item_0002: Item1000,Item333,time5213,...
Item_0003: Item1000,Item333,time5213,...
另外,推薦系統(tǒng)平臺還需要一個提供rest接口的服務,供web網站推薦位調用。當用戶打開網頁時,自動向該服務請求當前用戶的推薦列表,服務訪問HBase,獲取前面作業(yè)計算出來的多個推薦列表,并按一定策略組合成一個推薦列表返回給網頁,就此,完成了一個端到端的推薦業(yè)務流程。
一個完整的推薦系統(tǒng)要更復雜一些,這里并沒有討論推薦系統(tǒng)的專題內容。從例子可以看出DAYU具備強大的編排和調度能力,單單一個任務就可以涵蓋非常復雜的場景。實時上,大型的推薦系統(tǒng)平臺還是需要針對性的定制,因為涉及到一些管理上的流程需要應對、閉環(huán)。不過基于華為云體系下各種平臺、應用,有了DAYU這個助手,數(shù)據相關的方方面面的事務處理,將變得既簡潔又高效。
上述內容就是基于DAYU如何搭建企業(yè)個性化推薦平臺,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。