【摘 要】本文在“互聯網+”背景下對基于Spark的電商智能推薦云平臺進行了研究。首先闡述了該平臺研究的意義、Spark技術的主要功能和系統架構,最后探討了基于Spark的電商智能推薦云平臺的設計。
【關鍵詞】大數據;Spark;智能推薦;云平臺
中圖分類號: TP391.3 文獻標識碼: A 文章編號: 2095-2457(2018)26-0105-002
DOI:10.19694/j.cnki.issn2095-2457.2018.26.045
0 引言
隨著“互聯網+”和“移動互聯網+”等新一代信息技術的飛速發(fā)展,消費者用智能終端(手機和平板電腦等)去電子商務網站、社交網絡、微博、微信上購物變得越來越方便。然而隨著電子商務規(guī)模的不斷擴大,商品種類和信息的不斷增長,消費者需要花費大量的時間、精力才能找到自己想買的商品。尤其在移動互聯網環(huán)境下,消費者在移動端顯得更沒有“耐心”,日益增長的商品信息和數據使用戶感到困惑與迷茫,因此,對于消費者來說,如何從龐大的商品中快速找到自己需要的商品成為亟待解決的問題。同時,對于互聯網企業(yè)和生產服務提供商而言,如何讓自身商品信息從海量數據中脫穎而出并得到消費者認可也是亟待解決的一個問題。而智能推薦云平臺可以較好地解決上述問題。電商和企業(yè)可以通過智能推薦云平臺精準的向消費者推薦自己的商品,從而快速、全面、準確的滿足消費者需求。
本項目利用Spark和大數據挖掘等新一代信息技術,構建電商智能推薦云平臺,通過各種信息渠道(即如何利用社交網絡、微博、電商網站上的消費者的綜合行為數據)收集消費行為的實時數據以及他們和品牌的互動行為,分析日志數據、用戶歷史行為、用戶屬性從而創(chuàng)建用戶興趣偏好模型,依據智慧推薦算法預測用戶對商品權重偏好并進行排序,向消費者智能推薦滿足需求與感興趣的商品列表,為用戶的消費決策提供一定的參考。對生產企業(yè)來說,管理者能夠通過該平臺得出的信息來預測消費者的潛在需求,打破了公司傳統的自頂而下的決策流程,全面轉向以消費者為中心的組織架構和業(yè)務流程,從而實現生產者與消費者的雙贏。
1 Spark關鍵技術
Spark是為處理大數據而開發(fā)的并行通用計算平臺,與Hadoop集群系統具有相似的特點。但兩者最大的區(qū)別是Spark處理的中間計算結果是保存在內存中,不需要讀寫分布式文件系統,因此Spark能更好地適用于大數據挖掘與機器學習等需要迭代計算的地方。
1.1 Spark主要功能模塊
Spark主要有Spark Core、Spark SQL、Spark Streaming、GraphX和MLlib模塊組成,主要功能如下:
Spark Core:是集群系統中最核心的功能,包括創(chuàng)建SparkContext對象、任務提交與執(zhí)行、分布式部署任務與資源、分布式計算等。
Spark SQL:提供了對關系型數據庫的增、刪、查、改等的交互式操作,也可以對Hive和Json等數據格式的數據進行符合要求的處理。
Spark Streaming:主要功能是將流數據集聚為彈性分布式數據集RDD,然后再進行批量處理,提供大數據流式計算處理服務,其數據吞吐量較大。支持的數據源包括Kafka、Twitter、MQTT、Flume、ZeroMQ和簡單的TCP套接字等。
GraphX:主要功能是通過調用其中的API,解決基于分布式的內存圖形計算問題。在迭代計算次數較多的情況下,圖形計算和處理效率較高。
MLlib:通過調用其中的API接口,實現大量的機器學習有關的分類、統計、回歸等多種功能。方便了用戶,提高了效率,同時也大大降低了用戶的學習成本。
1.2 Spark系統架構
Spark應用程序從編寫到提交、執(zhí)行、輸出的整個過程采用集群的協作計算模式進行,整個集群的系統架構如圖1所示。
Spark集群管理器Cluster Manager:負責資源的分配與管理。用戶使用SparkContext提供的API,編寫了Driver application程序后,Spark集群管理器將各個Worker機上的計算資源(包括內存和CPU)分配給應用程序,但是并不負責對Execoutor的資源分配。
Spark工作節(jié)點Worker:從節(jié)點。由Spark集群管理器分配任務后,再由Spark工作節(jié)點創(chuàng)建一個Executor進程,再將其資源和任務分配給Executor進程,同時將資源信息反饋給Spark集群管理器。
Executor:為用戶提交的Spark應用程序運行在Worker node上的一個進程,主要負責Worker工作節(jié)點分配的任務的處理,并且與Worker工作節(jié)點、Driver?App的交互與信息同步。
Driver App:客戶端應用程序,運行應用程序的主函數,將任務程序轉換為彈性分布式數據集RDD和有向無環(huán)圖DAG,并與Cluster Manager進行通信與調度。
2 基于Spark的電商智能推薦云平臺的設計
在大數據下基于Spark的電商智能推薦云平臺根據消費者的綜合行為數據(電商網站上的瀏覽、購買、反饋等行為)進行分析和統計,得出他們的個性偏好,并按照推斷的個性偏好建立消費者偏好數學模型,預判消費者的潛在需求??梢园延脩羝玫纳唐吠扑]給相應的用戶和消費者。同時也將預測的用戶潛在需求推送給企業(yè),因此打破了公司傳統的決策流程,全面轉向以用戶為中心的服務流程,提高企業(yè)的經濟效益。主要包含信息收集和存儲模塊、信息處理和推薦模塊和輔助決策模塊等模塊。
2.1 信息收集和存儲模塊
信息收集和預處理模塊主要收集用戶和商品等信息,并進行整合和預處理操作,將其轉換為符合項目要求的數據集格式并進行存儲。
信息收集主要涉及到消費者、生產廠商和管理人員等的。該模塊從用戶表中收集的用戶信息包括他們的用戶編號、用戶類別、姓名、年齡、性別、職業(yè)、興趣、商品偏好、郵箱等基本信息;從歷史的銷售表中讀取用戶曾經購買過的商品編號和購買數量等;同時也可以根據用戶瀏覽網站的行為,記錄瀏覽了哪些商品、推薦了哪些商品和以及瀏覽和收藏次數等相關信息屬性;也可以從用戶對商品的反饋與評價表中獲取商品類別、用戶推薦類別用戶編號、用戶操作記錄、用戶評分與評價等信息。信息收集和存儲模塊將收集到的數據存儲到數據庫中,為用戶偏好的計算及商品的推薦提供基礎。
2.2 基于Spark的信息處理和推薦模塊
信息處理與推薦模塊主要任務是根據信息收集和存儲模塊收集到的用戶商品偏好與評分信息,將消費者偏好的商品作為依據,通過基于Spark的電商智能推薦云平臺智能分析與挖掘出潛在的用戶,并將偏好的商品信息推薦給用戶。該模塊主要由信息讀入、創(chuàng)建彈性分布式數據集RDD、智能挖掘和推薦、輔助決策模塊。
(1)信息讀入,創(chuàng)建彈性分布式數據集RDD:將信息收集和存儲模塊中收集的用戶商品偏好與評分信息作為數據集存儲在分布式文件系統中,通過腳本加載數據。由于偏好與評分數據集為矩陣,并且不同系統的不同用戶評分標準不統一,因此在信息的抽取、轉換和加載的預處理過程中對用戶偏好的商品用1表示,其他為0。最后將處理后的數據集加載生成數據集RDD對象,以便Spark能使用該數據集RDD對象實現并行化處理操作。
(2)基于Spark的智能挖掘和推薦模塊:該模塊負責接收用戶歷史數據、商品銷售信息、用戶偏好信息和商品評價信息等。該模塊根據用戶的各類偏好,統計消費者的各類偏好,并從用戶歷史數據和用戶屬性數據中提取到用戶的特征向量,再結合商品銷售信息、評價信息和用戶反饋信息進行過濾、排名、統計等處理得到智能挖掘和推薦的結果。
在信息處理和推薦模塊的Spark云平臺中,創(chuàng)建SparkContext類的對象sc,再通過對象sc的函數textFile讀取分布式文件系統上數據,創(chuàng)建RDD對象,最后通過函數parseUser讀取每行數據,并以userID為關鍵值填充到數組中。函數interAction則根據關鍵值建立商品信息表。
2.3 輔助決策模塊
輔助決策模塊負責將信息處理和推薦模塊中智能分析和挖掘到的大規(guī)模數據進行分析并預測消費者的潛在需求,并且將用戶偏好的商品信息、偏好數據、用戶對商品的意見和建議等分析結果提供給不同權限的工作人員查詢,工作人員可以根據自己的工作性質查詢自己所需的數據,來制定推薦、營銷和決策方案,如應對哪些商品進行促銷、如何定價、目標用戶群是哪些等,為商品的設計和企業(yè)的經營決策提供一定的參考。
2.4 結束語
本文針對電商不斷發(fā)展以及用戶不斷增長的趨勢,將大數據和Spark技術引入到電商智能云平臺的建設中。本文首先介紹了電商智能云平臺研究的意義、Spark技術的主要功能和系統架構,最后探討了基于Spark的電商智能推薦云平臺的設計,希望能對電商云平臺的研究提供一定的參考。當然本文只是提出了初步的設計,具體的實現有待進一步的研究與完善。
【參考文獻】
[1]http://www.cnblogs.com/.
[2]http://baike.baidu.Com.
[3]俞華鋒.網絡大數據挖掘云服務平臺的構建[J].科技視界.2013(18).
[4]俞華鋒.云計算下基于大數據的消費者偏好測量和決策系統的研究[J].科技視界.2015(33).