• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Spark 框架的電商實時推薦系統(tǒng)的設計與實現(xiàn)

    2022-05-17 00:40:36
    信息記錄材料 2022年3期
    關鍵詞:離線列表日志

    張 巖

    (陜西國際商貿(mào)學院 陜西 咸陽 712000)

    0 引言

    新時期背景下,信息技術與人們生活、工作深度融合,帶動了人們生活方式、工作方式的改變,如2019 年天貓“雙十一購物狂歡節(jié)”全網(wǎng)平臺銷售額達4 101 億元,較2018 年增長30.5%,凸顯了信息技術對電子商務的重要支撐作用。但隨著電商平臺數(shù)據(jù)的急劇增長,海量低密度價值數(shù)據(jù)產(chǎn)生的信息過載問題日益突出[1],用戶面對海量電商數(shù)據(jù)時難以從中獲取真正感興趣的數(shù)據(jù),由此造成“信息超載”問題。如何通過分析用戶興趣愛好和歷史行為,精準推薦符合用戶偏好的項目是解決電商平臺信息過載問題關鍵。根據(jù)IDC 數(shù)據(jù)報告,截止到2020 年底,互聯(lián)網(wǎng)大數(shù)據(jù)容量達40 ZB,全球人均數(shù)據(jù)量達到5 247 GB[2]。面對海量的數(shù)據(jù)處理需求,對硬件設備處理性能和訓練時間長度均形成了嚴峻挑戰(zhàn)。面向較小數(shù)據(jù)規(guī)模的推薦系統(tǒng)難以滿足大數(shù)據(jù)處理要求[3],在集群、分布式協(xié)同處理模式下,實時推薦系統(tǒng)設計一般采用Hadoop 平臺[4],基于協(xié)同過濾等推薦算法,可實現(xiàn)TB 以上數(shù)據(jù)實時分析處理,滿足大規(guī)模數(shù)據(jù)集分析處理需求。但隨著大數(shù)據(jù)規(guī)模不斷增加,Hadoop 平臺問題逐漸顯現(xiàn),即數(shù)據(jù)資源存儲于硬盤中,數(shù)據(jù)存儲、讀取時間成本高[5],且系統(tǒng)計算方式分為Map操作和Reduce操作兩個步驟,隨著數(shù)據(jù)量不斷增加,系統(tǒng)運行速度緩慢,更為適合離線分析處理數(shù)據(jù),不能滿足推薦系統(tǒng)高實時性、高算法性要求。

    Spark 計算引擎產(chǎn)生于2009 年,是由AMP 實驗室開發(fā)的面向大數(shù)據(jù)處理的計算框架,其特點是內(nèi)存計算,相較于Hadoop 平臺硬盤存儲讀取計算效率理論提升近百倍。同時,基于Spark 計算引擎內(nèi)存計算特性開發(fā)了一系列符合實時計算特性的流式計算框架Spark Streaming、類似于SSQL 數(shù)據(jù)庫語言的Spark SQL、機器學習庫Spark Mllid 等。由于Spark 框架一定程度上彌補了Hadoop 平臺的不足,基于Spark 框架開發(fā)迭代算法系統(tǒng)計算效率高、實時性良好,我國互聯(lián)網(wǎng)企業(yè)紛紛將業(yè)務系統(tǒng)框架由Hadoop 平臺遷移到Spark 平臺,并取得了良好的實踐效果。

    當前,雖然Spark 框架在電商平臺中應用日益廣泛,但相關研究成果較少,且并未提出基于Spark 框架的電商推薦系統(tǒng)推薦流程及算法?;诖?,本文提出了基于Spark 算法的電商實時推薦系統(tǒng),深入研究了實時推薦系統(tǒng)流程,并結合電商大數(shù)據(jù)特點提出了分布式日志實時采集、實時傳輸、實時過濾等關鍵技術,以期為業(yè)務系統(tǒng)設計與開發(fā)提供參考。

    1 基于Spark框架的電商實時推薦系統(tǒng)設計及業(yè)務流程

    1.1 系統(tǒng)總體設計

    當前,電商平臺積累了大量隱性數(shù)據(jù),涵蓋了用戶顯性行為(下單、加入購物車)和隱性行為(搜索、瀏覽、取消訂單、購物車中的刪除等),且隨著用戶規(guī)模不斷擴大,用戶數(shù)據(jù)分散于各服務器中。基于Hadoop 平臺的電商推薦系統(tǒng)無法有效匯總、分析用戶隱性行為,導致推薦系統(tǒng)結果與用戶偏好存在偏差,進而影響了實時推薦系統(tǒng)效果?;赟park 框架的電商實時推薦系統(tǒng)設計時,應在用戶顯性行為分析的基礎上,通過評分用戶隱性行為分析用戶行為,并融合離線推薦模型,為當前用戶提供實時推薦商品和服務。基于該思路構建的實時推薦系統(tǒng)架構分為3 層,即離線處理層、服務層與實時處理層。

    離線處理層基于Hadoop 平臺分析處理用戶數(shù)據(jù),根據(jù)用戶行為進行權重分級,獲得用戶對產(chǎn)品的基本評分,并將數(shù)據(jù)輸入到推薦模型系統(tǒng)中進行數(shù)據(jù)訓練??紤]到Hadoop 平臺僅提供Map 和在Reduce 兩個操作,面對各種復雜類型數(shù)據(jù)分析、轉換、表達能力不足,且訓練數(shù)據(jù)源讀取和寫入均需通過HDFS 系統(tǒng)中,導致系統(tǒng)訓練效率下降。針對該問題,本系統(tǒng)采用Spark RDD 彈性分布式數(shù)據(jù)存儲集合,可執(zhí)行兩種轉換和行動,每個RDD 均記錄轉換前的源數(shù)據(jù),具有良好的表達力,其訓練結果存儲于內(nèi)存中,可顯著提高離線處理層數(shù)據(jù)分析效率。此外,由于Spark框架集成了ALS 推薦模型,可將訓練模型生成的推薦商品列表寫入分布式緩存系統(tǒng)中[6],一方面可提高用戶登錄系統(tǒng)后實時推薦系統(tǒng)分析壓力,提高推薦精準性;另一方面緩解了電商系統(tǒng)集中響應壓力,提高用戶瀏覽操作體驗。

    服務層請求分布式業(yè)務系統(tǒng)集群,由應用網(wǎng)關通過HTTP 服務器負載均衡請求,采集各業(yè)務系統(tǒng)日志信息。由于電商平臺數(shù)據(jù)量巨大,中間件作為實時處理層與數(shù)據(jù)源采集之間的橋梁,可靠性要求極高,如中間件出現(xiàn)問題可能造成實時推薦系統(tǒng)無法及時、有效獲取實時數(shù)據(jù),導致實時推薦系統(tǒng)故障。結合該問題,本系統(tǒng)采用Spark Streaming 技術實現(xiàn)采集日志數(shù)據(jù)實時處理,該技術采用時間分片技術,按固定時間間隔收集、處理收集數(shù)據(jù),且吞吐性能良好,可滿足大數(shù)據(jù)實時處理要求。

    實時處理層是對用戶登錄、訪問、操作等行為數(shù)據(jù)的實時分析處理,以便于提高用戶黏度和轉化率,為用戶提供更為精準化的推薦服務。在Hadoop 平臺中,受限于存儲性能瓶頸制約,僅適用于離線訓練和批次處理場景,難以滿足高并發(fā)、高吞吐量的用戶行為實時分析處理需求。針對該問題,本系統(tǒng)采用Spark Streaming 技術對用戶行為日志進行分析處理,可實現(xiàn)用戶行為實時過濾、挖掘,并匹配與用戶行為特征相符的商品,結合離線訓練模型推薦商品列表進行推薦商品重排序,能夠?qū)崿F(xiàn)電商平臺動態(tài)感知用戶行為、需求、偏好,并在交互操作中推薦符合用戶需求的商品,促進下單行為形成。

    1.2 實時推薦系統(tǒng)流程

    基于實時推薦系統(tǒng)設計總體思路,本系統(tǒng)流程為實時處理層借助Streaming 技術獲得日志數(shù)據(jù),經(jīng)數(shù)據(jù)聚合、過濾后結合離線推薦系統(tǒng)模型結果和實時推薦結果混合排名,生成符合用戶行為偏好的實時推薦列表。本系統(tǒng)流程分為4 個環(huán)節(jié),見圖1。

    (1)計算隱性評分。電商平臺通過配置HTTP 響應規(guī)則,將用戶請求分發(fā)到分布式應用網(wǎng)關,由應用網(wǎng)關負載均衡用戶請求。應用網(wǎng)關中植入日志采集工具,采集業(yè)務系統(tǒng)的日志信息,經(jīng)匯總后將日志消息發(fā)送至Kafka 消息集群,集群接收到日志信息后借助Streaming 流處理技術過濾、抽取日志信息中高價值數(shù)據(jù),如用戶瀏覽、加入購物車等信息,根據(jù)不同行為權重,計算用戶對商品的評分情況,并將分析結果寫入Shark SQL 數(shù)據(jù)表中。(2)離線推薦模型訓練。當完成隱性行為評分后,系統(tǒng)輸出用戶、商品、評分三元組數(shù)據(jù)并存儲于Shark SQL 數(shù)據(jù)庫,以此作為離線推薦模型訓練數(shù)據(jù)源。針對單一用戶行為偏好分析時,由于單一用戶數(shù)據(jù)量較小,可采用ALS 算法計算用戶隱性因子,并根據(jù)隱性因子分析預測用戶瀏覽、購買行為,并對用戶偏好商品進行排序,生成離線推薦模型數(shù)據(jù)。(3)生成離線推薦商品列表。根據(jù)離線推薦模型訓練結果,將電商網(wǎng)站用戶數(shù)據(jù)輸入到模型中,獲得各用戶離線推薦列表。為防止處理數(shù)據(jù)過于復雜,離線推薦列表長度設定為5 個。生成離線推薦列表后,將推薦列表寄存于Redis緩存系統(tǒng)中,供電商平臺調(diào)用。(4)生成實時推薦列表。當用戶通過各種客戶端登錄電商平臺時,可借助Streaming集群收集的日志信息抽取用戶ID 和商品ID,根據(jù)離線推薦訓練模型結果自動排序展示商品順序,推薦商品5 個。當用戶ID 與商品ID 相符時,系統(tǒng)自動定位至用戶ID 推薦列表,將用戶推薦列表中前5 名商品替換為實時處理商品結果,實現(xiàn)實時處理系統(tǒng)與離線處理模型結果的有機結合,降低系統(tǒng)分析處理工作量,提高系統(tǒng)響應效率。

    2 系統(tǒng)架構設計

    基于Spark 框架的電商實時推薦系統(tǒng)設計中,關鍵技術主要包括分布式日志數(shù)據(jù)采集、日志數(shù)據(jù)聚合、日志數(shù)據(jù)傳輸、日志數(shù)據(jù)過濾與隱性行為實時算法處理等。

    2.1 分布式日志數(shù)據(jù)采集

    本系統(tǒng)中,為確保實時推薦系統(tǒng)推薦結果符合用戶搜索需求,需要采集大量隱性用戶行為數(shù)據(jù)。但由于電商平臺業(yè)務日志數(shù)據(jù)分散于不同業(yè)務系統(tǒng)中,加大了日志數(shù)據(jù)獲取難度。本系統(tǒng)通過采用分布式日志匯總系統(tǒng)收集日志數(shù)據(jù)(圖2),構建用戶隱性行為日志數(shù)據(jù)源,可實現(xiàn)用戶交互行為實時采集。系統(tǒng)中,分布式日志采集從交易系統(tǒng)、商品系統(tǒng)、購物車系統(tǒng)、應用網(wǎng)關中采集多源日志數(shù)據(jù)。經(jīng)匯集傳輸至Redis 分布式存儲,并建立睿智居合索引目錄,作為Kafka 消息集群數(shù)據(jù)源。

    2.2 消息集群數(shù)據(jù)傳輸

    基于分布式日志采集模塊采集的實時日志數(shù)據(jù),為實時推薦系統(tǒng)數(shù)據(jù)處理提供了豐富的用戶和商品數(shù)據(jù),但由于數(shù)據(jù)量較大,對系統(tǒng)高并發(fā)吞吐處理性能要求較高,如何確保日志數(shù)據(jù)及時傳輸并減少傳輸時間關系到用戶使用體驗。本系統(tǒng)采用Kafka 消息集群作為日志消息源,該系統(tǒng)為分布式存儲系統(tǒng),系統(tǒng)吞吐性能可隨系統(tǒng)硬件擴展而增加,可滿足日志數(shù)據(jù)高吞吐性能要求。在Kafka 集群中,日志數(shù)據(jù)傳輸由3 部分組成,即數(shù)據(jù)生產(chǎn)者層、中間存儲層、消費者層。生產(chǎn)者層即日志數(shù)據(jù)來源;中間存儲層為Kafka 消息集群;消費者層為日志處理使用系統(tǒng),即Spark Streaming處理節(jié)點。Kafka 消息集群接收到日志數(shù)據(jù)后,將日志數(shù)據(jù)存儲于內(nèi)存并本地持久化,消費者層通過請求消息集群拉取日志數(shù)據(jù),消息集群根據(jù)拉取請求傳輸日志,Spark Streaming 處理節(jié)點對傳輸日志數(shù)據(jù)進行過濾和實時處理。

    2.3 Spark Streaming 日志過濾

    Spark Streaming 處理節(jié)點請求并拉取數(shù)據(jù)后,由于日志數(shù)據(jù)未經(jīng)處理,含有較多的低價值的噪聲數(shù)據(jù),需要經(jīng)過濾抽取高價值的日志數(shù)據(jù)。Spark Streaming 接收日志數(shù)據(jù)后,通過抽取用戶ID、商品數(shù)據(jù)ID、網(wǎng)關、時間戳、用戶IP 地址、用戶訪問類型等數(shù)據(jù),借助系統(tǒng)過程函數(shù),清除噪聲數(shù)據(jù),經(jīng)過濾后獲得相應字段數(shù)據(jù)信息,為電商平臺實時推薦系統(tǒng)數(shù)據(jù)分析計算提供數(shù)據(jù)源。

    2.4 實時推薦系統(tǒng)算法

    為確保系統(tǒng)執(zhí)行效率,本系統(tǒng)分為離線推薦流程和實時推薦流程。離線推薦流程與Hadoop 平臺流程類似,離線推薦系統(tǒng)主要進行用戶隱性行為數(shù)據(jù)挖掘,如加入購物車、刪除購物車、下單支付、未支付等操作,并根據(jù)各種隱性行為評分系數(shù)對用戶行為偏好進行評價,通過借助Spark 平臺工具對離線系統(tǒng)進行優(yōu)化,提高了離線推薦流程處理效率。在實時推薦系統(tǒng)設計時,由于其流程區(qū)別于離線推薦流程,且是離線推薦結果與實時推薦結果的關鍵環(huán)節(jié),因此,本文重點分析實時推薦系統(tǒng)推薦算法。實時推薦系統(tǒng)推薦算法可分為3 個步驟:(1)讀取用戶行為數(shù)據(jù)。實時推薦系統(tǒng)運行時,從Spark SQL 數(shù)據(jù)庫中讀取用戶行為數(shù)據(jù),包括用戶交易數(shù)據(jù)、用戶購物車數(shù)據(jù)和已瀏覽商品數(shù)據(jù)。(2)過濾實時日志數(shù)據(jù)。借助Spark String 流處理技術從Kafka 消息集群中請求日志數(shù)據(jù),讀取用戶行為表,根據(jù)用戶瀏覽行為權重系數(shù)獲得用戶ID、商品ID,關聯(lián)用戶交易表、購物車、支付或未支付等行為數(shù)據(jù),并根據(jù)不同操作行為權重系數(shù)作為實時推薦系統(tǒng)數(shù)據(jù)源。由于實時操作系統(tǒng)包含大量噪聲數(shù)據(jù),如加入購物車時間較長的商品等,考慮到系統(tǒng)響應性能,String 處理節(jié)點應對日志數(shù)據(jù)進行過濾,篩選近3 天瀏覽交易數(shù)據(jù),獲得用戶ID、商品ID 和評分情況。(3)實時推薦數(shù)據(jù)整合。根據(jù)離線模型訓練結果,將離線推薦訓練模型結果寫入Redis 分布式緩存系統(tǒng)中,啟動實時推薦任務,根據(jù)用戶交互行為獲得商品ID 數(shù)據(jù),并調(diào)用Redis 中離線推薦訓練結果中與商品ID 相近的前5個商品數(shù)據(jù),將5 個商品ID 數(shù)據(jù)整合實時推薦系統(tǒng)推薦列表中最后5 個,并將實時推薦系統(tǒng)獲得的推薦商品ID 置于Redis 列表中,隨時調(diào)用和展示符合用戶偏好的商品,實現(xiàn)實時推薦、實時反饋、動態(tài)調(diào)整的目的。

    3 結語

    新時期背景下,電商平臺積累了海量用戶數(shù)據(jù)和業(yè)務數(shù)據(jù),但面臨推薦系統(tǒng)效率低、推薦效果不佳等問題,影響了用戶體驗、用戶黏度和轉化率。通過借助Spark 框架技術,實時采集、傳輸、過濾、模型訓練等流程,將離線推薦系統(tǒng)結果與實時推薦系統(tǒng)結果整合,生成符合用戶實時操作行為的推薦列表,有效解決了Hadoop 平臺應對實時大數(shù)據(jù)處理中的難點問題,提高了電商平臺推薦精準性,改善了用戶體驗。

    猜你喜歡
    離線列表日志
    巧用列表來推理
    一名老黨員的工作日志
    華人時刊(2021年13期)2021-11-27 09:19:02
    異步電機離線參數(shù)辨識方法
    防爆電機(2021年4期)2021-07-28 07:42:46
    呼吸閥離線檢驗工藝與評定探討
    學習運用列表法
    淺談ATC離線基礎數(shù)據(jù)的準備
    扶貧日志
    心聲歌刊(2020年4期)2020-09-07 06:37:14
    擴列吧
    離線富集-HPLC法同時測定氨咖黃敏膠囊中5種合成色素
    中成藥(2018年2期)2018-05-09 07:20:09
    游學日志
    上虞市| 勐海县| 武强县| 青浦区| 个旧市| 西林县| 安顺市| 海阳市| 北京市| 胶州市| 延川县| 额济纳旗| 郓城县| 六枝特区| 中阳县| 翁源县| 阜阳市| 驻马店市| 广元市| 青铜峡市| 宝兴县| 安塞县| 闽清县| 巩义市| 吉木萨尔县| 肇州县| 呼玛县| 象山县| 宜丰县| 怀远县| 万盛区| 阳西县| 吉安市| 齐齐哈尔市| 肇州县| 婺源县| 右玉县| 肃南| 苍溪县| 镇坪县| 大悟县|