溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

大數(shù)據(jù)推薦系統(tǒng)的實(shí)時(shí)架構(gòu)和離線架構(gòu)是怎樣的

發(fā)布時(shí)間:2022-01-18 10:58:35 來源:億速云 閱讀:269 作者:柒染 欄目:大數(shù)據(jù)

小編今天帶大家了解大數(shù)據(jù)推薦系統(tǒng)的實(shí)時(shí)架構(gòu)和離線架構(gòu)是怎樣的,文中知識(shí)點(diǎn)介紹的非常詳細(xì)。覺得有幫助的朋友可以跟著小編一起瀏覽文章的內(nèi)容,希望能夠幫助更多想解決這個(gè)問題的朋友找到問題的答案,下面跟著小編一起深入學(xué)習(xí)“大數(shù)據(jù)推薦系統(tǒng)的實(shí)時(shí)架構(gòu)和離線架構(gòu)是怎樣的”的知識(shí)吧。

1、概述

        推薦系統(tǒng)是大數(shù)據(jù)中最常見和最容易理解的應(yīng)用之一,比如說淘寶的猜你喜歡和京東等網(wǎng)站的用戶提供個(gè)性化的內(nèi)容。但是不僅僅只有電商會(huì)用推薦引擎為用戶提供額外的商品,推薦系統(tǒng)也可以被用在其他行業(yè),以及具有不同的應(yīng)用中使用,如網(wǎng)易云音樂的每日歌曲推薦、活動(dòng)、產(chǎn)品到約會(huì)對(duì)象。

2、大數(shù)據(jù)推薦系統(tǒng)架構(gòu)

        一般中型的網(wǎng)站(10W的PV以上),每天會(huì)產(chǎn)生1G以上Web日志文件。大型或超大型的網(wǎng)站,可能每小時(shí)就會(huì)產(chǎn)生10G的數(shù)據(jù)量。 

        具體來說,比如某電子商務(wù)網(wǎng)站,在線團(tuán)購業(yè)務(wù)。每日PV數(shù)100w,獨(dú)立IP數(shù)5w。用戶通常在工作日上午10:00-12:00和下午15:00-18:00訪問量最大。日間主要是通過PC端瀏覽器訪問,休息日及夜間通過移動(dòng)設(shè)備訪問較多。網(wǎng)站搜索瀏量占整個(gè)網(wǎng)站的80%,PC用戶不足1%的用戶會(huì)消費(fèi),移動(dòng)用戶有5%會(huì)消費(fèi)。

        對(duì)于日志的這種規(guī)模的數(shù)據(jù),用HADOOP進(jìn)行日志分析,是最適合不過的了。通過日志分析,增加銷售量,出售更多不同的商品,提升用戶滿意度,更好的理解用戶想要什么。下面是推薦系統(tǒng)離線模式和實(shí)時(shí)模式的推薦架構(gòu)。兩種架構(gòu)經(jīng)常是相互輔助使用。

大數(shù)據(jù)推薦系統(tǒng)的實(shí)時(shí)架構(gòu)和離線架構(gòu)是怎樣的

2.1 離線模式過程

(1)數(shù)據(jù)來源

在頁面預(yù)埋一段js程序,為頁面上想要監(jiān)聽的標(biāo)簽綁定事件,只要用戶點(diǎn)擊或移動(dòng)到標(biāo)簽,即可觸發(fā)ajax請(qǐng)求到后臺(tái)servlet程序,用log4j記錄下事件信息,從而在web服務(wù)器(nginx、tomcat等)上形成不斷增長(zhǎng)的日志文件。在移動(dòng)設(shè)備上,通過訪問接口,后端記錄訪問日志。

(2)數(shù)據(jù)采集

定制開發(fā)采集程序,或使用開源框架FLUME,flume是分布式的日志收集系統(tǒng),它將各個(gè)服務(wù)器中的數(shù)據(jù)收集起來并送到指定的地方去,比如說送到圖中的HDFS,簡(jiǎn)單來說flume就是收集日志的。 

大數(shù)據(jù)推薦系統(tǒng)的實(shí)時(shí)架構(gòu)和離線架構(gòu)是怎樣的

flume之所以這么神奇,是源于它自身的一個(gè)設(shè)計(jì),這個(gè)設(shè)計(jì)就是agent,agent本身是一個(gè)java進(jìn)程,運(yùn)行在日志收集節(jié)點(diǎn)—所謂日志收集節(jié)點(diǎn)就是服務(wù)器節(jié)點(diǎn)。 

agent里面包含3個(gè)核心的組件:source—->channel—–>sink,類似生產(chǎn)者、倉庫、消費(fèi)者的架構(gòu)。 

source:source組件是專門用來收集數(shù)據(jù)的,可以處理各種類型、各種格式的日志數(shù)據(jù),包括avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、http、legacy、自定義。 

channel:source組件把數(shù)據(jù)收集來以后,臨時(shí)存放在channel中,即channel組件在agent中是專門用來存放臨時(shí)數(shù)據(jù)的——對(duì)采集到的數(shù)據(jù)進(jìn)行簡(jiǎn)單的緩存,可以存放在memory、jdbc、file等等。 

sink:sink組件是用于把數(shù)據(jù)發(fā)送到目的地的組件,目的地包括hdfs、logger、avro、thrift、ipc、file、null、hbase、solr、自定義

(3)數(shù)據(jù)匯聚

原始日志通過flume匯聚到HDFS分布式存儲(chǔ)系統(tǒng)。

(4)數(shù)據(jù)預(yù)處理

定制開發(fā)mapreduce程序運(yùn)行于hadoop集群,得到規(guī)整數(shù)據(jù)放入hdfs。

(5)數(shù)據(jù)倉庫技術(shù)

基于hadoop之上的Hive,將規(guī)整數(shù)據(jù)映射成表。

(6)ETL

在hive進(jìn)行數(shù)據(jù)查詢,寫sql導(dǎo)出結(jié)果。或者通過mahout機(jī)器學(xué)習(xí)算法分析出推薦數(shù)據(jù)寫入到推薦原料。例如,協(xié)同過濾算法。

(7)推薦引擎

將推薦結(jié)果導(dǎo)入到業(yè)務(wù)數(shù)據(jù)庫,web推薦引擎根據(jù)數(shù)據(jù)庫進(jìn)行推薦。

(8)可視化顯示

根據(jù)業(yè)務(wù)數(shù)據(jù)庫的推薦信息,前端顯示推薦結(jié)果。

2.2 實(shí)時(shí)模式過程

熱門事件,爆款。需要實(shí)時(shí)推薦。

(1)數(shù)據(jù)來源

在頁面預(yù)埋一段js程序,為頁面上想要監(jiān)聽的標(biāo)簽綁定事件,只要用戶點(diǎn)擊或移動(dòng)到標(biāo)簽,即可觸發(fā)ajax請(qǐng)求到后臺(tái)servlet程序,用log4j記錄下事件信息,從而在web服務(wù)器(nginx、tomcat等)上形成不斷增長(zhǎng)的日志文件。在移動(dòng)設(shè)備上,通過訪問接口,后端記錄訪問日志。

(2)數(shù)據(jù)采集

定制開發(fā)采集程序,或使用開源框架FLUME,flume是分布式的日志收集系統(tǒng),它將各個(gè)服務(wù)器中的數(shù)據(jù)收集起來并送到指定的地方去,比如說HDFS,簡(jiǎn)單來說flume就是收集日志的。

(3)數(shù)據(jù)匯聚

原始日志通過flume匯聚到kafka集群。一部分?jǐn)?shù)據(jù)發(fā)送給storm實(shí)時(shí)處理,另一部分發(fā)送給hdfs做離線處理。

(4)實(shí)時(shí)處理

通過storm和sparkStreaming讀取kafka的消息進(jìn)行數(shù)據(jù)實(shí)時(shí)處理,統(tǒng)計(jì)當(dāng)前的最新動(dòng)態(tài)到推薦原料。

(5)推薦引擎

將推薦結(jié)果導(dǎo)入到業(yè)務(wù)數(shù)據(jù)庫,web推薦引擎根據(jù)數(shù)據(jù)庫進(jìn)行推薦。

(6)可視化顯示

根據(jù)業(yè)務(wù)數(shù)據(jù)庫的推薦信息,前端顯示推薦結(jié)果。

3、總結(jié)

個(gè)性化產(chǎn)品推薦 

  推薦系統(tǒng)幫助理解每一位訪問者的喜好和意圖,并及時(shí)地展示相關(guān)的推薦類型和商品。隨著引擎對(duì)每位訪問者了解到更多,推薦系統(tǒng)也就得到了提升。

網(wǎng)站個(gè)性化 

  允許以實(shí)時(shí)區(qū)分和定位用戶的個(gè)性化消息與提醒來增加銷量和轉(zhuǎn)化。

及時(shí)通知 

  這樣的引擎幫助品牌建立與用戶之間的信任,并在顧客訪問網(wǎng)站時(shí)通過及時(shí)展示通知構(gòu)造一種存在感和緊迫感。

個(gè)性化的客戶忠誠度項(xiàng)目和服務(wù) 

  研究表明,與千篇一律的內(nèi)容相比,人們對(duì)提供個(gè)性化服務(wù)的項(xiàng)目更感興趣,與客戶忠誠度有關(guān)的項(xiàng)目更是如此。這樣的引擎基于與用戶的實(shí)時(shí)交互能夠定制推薦內(nèi)容。數(shù)據(jù)分析算法運(yùn)用不同的購買行為并整合上下文信息來關(guān)注不同的產(chǎn)品策略,這也提升了推薦的質(zhì)量。

感謝大家的閱讀,以上就是“大數(shù)據(jù)推薦系統(tǒng)的實(shí)時(shí)架構(gòu)和離線架構(gòu)是怎樣的”的全部?jī)?nèi)容了,學(xué)會(huì)的朋友趕緊操作起來吧。相信億速云小編一定會(huì)給大家?guī)砀鼉?yōu)質(zhì)的文章。謝謝大家對(duì)億速云網(wǎng)站的支持!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI