国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Hadoop的超市數據分析系統(tǒng)的設計

2016-01-27 04:24范麗麗
武漢輕工大學學報 2015年4期
關鍵詞:數據挖掘大數據

李 博,范麗麗

(武漢輕工大學 數學與計算機學院,湖北 武漢 430023)

?

基于Hadoop的超市數據分析系統(tǒng)的設計

李博,范麗麗

(武漢輕工大學 數學與計算機學院,湖北 武漢 430023)

摘要:大數據的利器——Hadoop,使得對海量數據處理和分析變得更加便宜和快速,吸引了眾多急需優(yōu)化行業(yè)模式的企業(yè)。構建一個數據分析系統(tǒng),該系統(tǒng)立足于超市數據的海量、復雜、有利用價值的特點,利用分布式的架構——Hadoop數據分析處理平臺對超市小票數據及從微信平臺采集的會員信息進行處理和分析,使用優(yōu)化的關聯規(guī)則算法,快速準確的分析出超市商品銷售的關聯性及對顧客消費行為進行預測,從而提高超市商品的銷售額以及超市的利潤。

關鍵詞:大數據;Hadoop;關聯規(guī)則算法;數據挖掘

1引言

Hadoop[1]作為大數據[2]中最耀眼的技術之一,以其建立于MapReduce基礎之上,能夠快速,高效,經濟地處理和分析數據,因而獲得了很多關注。國內外很多企業(yè)基于對大數據的追捧及肯定,對Hadoop進行了大量的研究和探討,均得到一定的突破。重量級的應用有常見的氣象數據[3]的處理,熱門的微博信息挖掘,高回報的電子商務[4]的商品推薦等。輕量級的應用,如文獻[5]提出的基于Hadoop實現的實驗數據管理及文獻[6]提出的基于Hadoop的電費數據處理等等。

超市作為一個傳統(tǒng)零售業(yè),由以前的分散經營到現在的連鎖經營,店內的商品也由常見日用消耗品擴為商品倉庫。超市面臨著如何去管理這些種類和數量繁多的商品的問題。于此同時,網上商城不斷涌現也在沖擊傳統(tǒng)的超市,基于消費者足不出戶就可以在網上商城買到心儀的商品,那么傳統(tǒng)的門店超市如何去和這些網上商城競爭呢?

超市要想提高與網上商城的競爭力,盡量滿足各色各樣的消費者需求,同時將具有巨大價值的超市銷售海量數據利用起來,其中一個合理的解決方案就是利用數據處理平臺或者工具去進行數據管理,分析和挖掘。由apache基金會開發(fā)一個分布式的架構Hadoop數據分析處理平臺契合時機的解決了這一問題。用戶可以不必在意分布式底層的細節(jié),就能進行海量的數據可靠性存儲和高效的數據處理和分析。同時,超市的軟硬件環(huán)境,也滿足構建基于hadoop的數據分析系統(tǒng)的要求。

2基于Hadooop數據分析系統(tǒng)環(huán)境

本系統(tǒng)由多臺PC機組成的硬件環(huán)境,硬件上搭載Hadoop集群所需的軟件包,利用網絡和Hadooop分布式的特點,將數據儲存在集群的各個節(jié)點上,利用集群的并行計算能力進行數據處理和分析

2.1硬件環(huán)境

超市內部的11臺PC機,企業(yè)級路由器一臺。

內存:2GB。

硬盤500GB。

內部局域網具有100MB寬帶速度。

2.2軟件環(huán)境

Linux Ubuntu11.0。

Hadoop 0.20.0包。

Sun-java7-jdk包。

SSH包。

2.3數據采集環(huán)境

利用微信公眾平臺收集顧客信息,將超市會員信息從微信平臺接口轉存儲在超市數據分析系統(tǒng)的數據庫中。將超市會員的消費記錄也存儲在數據庫中。利用積分活動的方式,鼓勵會員在線上對其購買的商品進行評分。數據分析平臺對這些數據進行處理分析從而預測顧客購買行為。

相對于非會員客戶,超市會員消費數據具有準確性和穩(wěn)定性,這有利于對數據進行快速處理和分析。因此,對于非會員顧客,一方面要主動引導其加入會員,另一方面對收銀臺的非會員顧客消費小票數據進行存儲,擬定一個周期,對其進行處理分析。

3系統(tǒng)涉及相關技術

本文系統(tǒng)以hadoop構成的集群作為數據分析的平臺,文件存儲系統(tǒng)基于HDFS,采用pig作為用戶數據分析的工具,利用 MapReduce 對數據進行分布式計算。

3.1分布式文件系統(tǒng) HDFS

Hadoop 分布式處理平臺的存儲是基于分布式文件系統(tǒng) HDFS, 它采用的是只寫一次, 讀取多次的文件訪問模型。文件被創(chuàng)建寫入關閉后就不允許被修改。這個假設簡化了數據一致性問題因而保證了高數據訪問吞吐量。 超市小票明細數據屬于歷史分類數據,不需要對其進行增刪改查的操作, 只要批量導入和查詢, 符合HDFS 數據訪問模型。

HDFS框架圖如圖一:

圖1 HDFS框架圖

3.2MapReduce 分布式計算框架

基于分布式的數據存儲模型,mapreduce也是一個分布式的數據計算框架。并行計算是處理海量數據的常規(guī)手法,但是并行計算并不是大多數程序員具備的能力。Mapreduce提供一種有兩個過程的簡單計算模型,一個叫做map,一個叫reduce。Map過程負責通過split將數據一分為二,而reduce則合并map處理的結果。通過這兩個步驟隱藏了很多數據并行計算的復雜性。Hadoop也正是依靠這種化繁為簡的框架成為了分布式計算中的行業(yè)標準,得到廣泛應用。

數據處理模型如圖二:

圖2 數據處理過程模型

3.3數據分析工具Pig

Pig是一個基于Hadoop的大數據處理分析工具,它提供了一種類SQL語言——Pig Latin,它通過編譯器把SQL數據請求轉換為Mapreeduce運算,并且提供操作簡單的操作和多種編程語言的接口。

即便是簡單的操作,例如將一個文件中數據提取出來,對數據進行一次處理操作,再將處理后數據存儲在另一個文件中。利用傳統(tǒng)的MapReduce模型去處理,得單獨寫一個預處理復雜的應用程序。用pig來寫腳本的話,只需要三步。例如在文件file中查找pig字符的腳本:

File=LOAD′file′;

files=FILTER file BY $0 MATCHES′.*pig+.*′;

STORE files INTO ′file1′;

三步操作分別是讀取file文件數據,篩選數據,存儲數據到file1中。

3.4數據收集平臺

微信上億的用戶,海量的用戶數據和可捕捉的用戶行為現在已經牽動著眾多商戶的注意力。商家可以通過微信公眾平臺采集用戶的用戶行為數據及反饋數據以期快速的做出相應對策來應對大數據時代。本系統(tǒng)利用微信公眾平臺的access_token接口,通過OAUTH2.0方式彈出信息錄入頁面,經過用戶授權后將獲取的數據存儲。將微信獲取的用戶基本信息與數據庫中會員信息進行匹配,同時進行對應的推送信息。超市就可以利用現有的微信來獲取用戶數據,輔助和驗證本文提到的設計的可行性和有效性。

4系統(tǒng)結果分析

基于Hadoop框架的數據處理系統(tǒng)是分布式的處理數據,最重要的就是Map-Reduce思想及Hadoop集群的搭建,再通過關聯規(guī)則算法找出數據處理的結果。

4.1Hadoop平臺集群的實現

1)利用交換機將主機連接在一起,組成局域網,安裝JDK,安裝SSH以方便遠程無密碼連接

2)為主機設置固定IP,并起一個方便識別的別名

3)安裝Hadoop客戶端,對主機的相關文件進行配置,配置成一個namenode節(jié)點,多個datanode節(jié)點。節(jié)點拓撲圖如圖三:

圖3 節(jié)點拓撲圖

4) 打開Hadoop進程,利用JPS測試Hadoop是否安裝成功。安裝成功后,利用Hadoop自帶的集群狀態(tài)頁面查看集群狀態(tài)。

4.2MapReduce數據處理的實現

基于HDFS的文件是分布式存儲的。每一個節(jié)點都分布式的存儲著數據。在需要數據的時候,節(jié)點都是按照就近原則,對自己節(jié)點所存儲的數據進行處理,處理完成以后再統(tǒng)一交給某一節(jié)點匯總處理。

具體實現:程序將數據文件的地址告訴Namenode節(jié)點,數據文件的地址作為Mapreduce的輸入。在map階段,利用相關函數對數據進行清理,劃分,得到key值,在利用reduce程序對進行整合,將整合的文件作為輸出。

處理數據的時候,數據量比較大,所以不能簡單的把數據放在內存中進行處理,而是要把數據保存在文件里,然后反復的讀取。利用內存映射或者是分塊處理的辦法提高文件數據讀取速度。數據保存為二進制,這樣載入內存更快,占用內存空間更小。

4.3Apriori算法的實現

Apriori算法[7]通過兩個重要的性質實現壓縮搜索空間的,這利于提高頻繁項目集逐層產生的效率。性質如下

性質一:如A是頻繁項集,則A的所有子集是頻繁項集。

性質二:如B為非頻繁項集,則B的所有超集是非頻繁項集。

算法:Apriori算法

輸入:數據庫DB;最小支持度值min。

輸出:DB的頻繁項集L。

1) L1 = find(DB);

2) for (n = 2; Ln-1 ≠? ; n++) {

3) Cn = aproiri_gen(Ln-1,min);

4) for each transaction t D{ //scan D for count

5) Ct = subset(Cn,t); //get subsets of t that are candidates

6) for each candidate c Ct

7) c.count++;

8) }

9) Ln={c Cn | c.count ≥ min }

10) }

11) return L = ∪nLn;

具體過程如下:

第一步,算法第一次迭代,進行數據庫掃描后計算出DB中每個項目出現的次數,生成1-項集C1。

第二步,通過最小支持度篩選出頻繁1-項集L1。

第三步,由L1產生C2并且掃描DB中C2項目出現的次數,由最小支持度生成L2

第四步,由項集L2生成C3,以此類推直至找不到高層項集。

假設有如下表的數據,A,B,C表示三種商品,支持度表示購買一次銷售小票中此商品出現的概率,支持度如下表1所示:

表1商品支持度

項支持度A0.4B0.3C0.2AandB0.2AandC0.15BandC0.1A,BandC0.04

可得到以下規(guī)則,如表2所示:

表2商品規(guī)則

規(guī)則置信度IfBandCthenA0.04/0.1*100%=40%IfAandCthenB0.04/0.15*100%=26.7%IfAandBthenC0.04/0.2*100%=20%

對于規(guī)則" If B and C then A",同時購買B和C的人中,購買A的顧客有40%。A本身的支持度有0.4,也就有40%的人購買A商品。

引入一個度量此規(guī)則有效性的量,即提升度(Lift)。此度量通過量化數據來驗證使用規(guī)則和不適用規(guī)則的差距。暫定大于1的提示度是有用的規(guī)則的。

計算規(guī)則如下公式:

Lift(A==>B)=Confidence(A==>B)/Support(B)=Support(A==>B)/(Support(A)*Support(B))。在上例中,Lift(If B and C then A)=0.04/(0.1*0.4)=1。而Lift(If A then B)=0.2/(0.4*0.3)=1.33。由此,買了A的人進行推薦B,購買概率是隨機推薦B的1.33倍。

5系統(tǒng)演示

本節(jié)將探討基于Hadoop的數據處理系統(tǒng)和傳統(tǒng)的數據處理工具SQL Server和Excel的性能比較?,F取某一超市不同日期3天的所有銷售數據,113萬條數據記錄,51萬條數據記錄和9萬條數據記錄。由于Excel和SQL Sercer都是單機運行,故比較他們的數據載入時間。三個平臺分別計算記錄中銷量最高的前10位,所需要時間如表3所示,Hadoopt Server耗時截圖如圖4所示。

表3簡單數據處理對比

平臺量113w51w9wExcel17'53"SQLserver5'29"3'14"29"Hadoop1'33"59"57"

圖4 Hadoop和SQL Server耗時截圖

再分別在三個平臺上測試找出記錄中兩種商品出現在同一個小票的的前10種,結果如表4所示。

表4關聯數據處理對比

平臺量113萬51萬9萬ExcelSQLServer13'29"7'14"2’29"Hadoop3'43"2'26"1'42"

由表3和表4所示,Excel對于數據量大,缺乏快速處理的能力。SQL Server在處理數量級小和簡單的數據時耗時比Hadoop平臺少,但是處理關聯數

據或者百萬級別的數據記錄耗時比較長。相比之下,Hadoop數據分析處理平臺處理這種關系型數據,耗時短,速度快,可以提高掌握實時銷售情況的能力,讓超市更機動靈活的制定銷售策略,提高銷售額。同時,系統(tǒng)可以根據當前任務,調節(jié)Hadoop的配置,如文件復制數,blocksize等,也能夠提高系統(tǒng)的數據處理速度。

6結語

結合超市現有的軟硬件資源,構建基于Hadoop的數據分析系統(tǒng),通過數據挖掘技術,利用Hadoop集群的強大的數據處理能力,實現對超市海量數據的處理分析,發(fā)現出商品-商品,商品-顧客之間的聯系,從而提高了超市的銷量和利潤。大數據利器—Hadoop對以后的超市所代表的零售業(yè)的商業(yè)模式有著潛在的巨大影響,合理的運用能提高企業(yè)的競爭力。

參考文獻:

[1]Tom White.Hadoop: The Definitive Guide[M].California,USA:O′Reily Media,Inc.,2012.

[2]Viktor Mayer-Sch?nberger,Big Data:A Revolution That Will Transform How We Live, Work, and Think[M].Oxford,UK:Eamon Dolan,2012,12.

[3]薛勝軍,基于Hadoop的氣象信息數據倉庫建立與測試,計算機測量與控制,2012,20(4):925-928.

[4]李文海,基于hadoop的電子商務推薦系統(tǒng)的設計與實現,計算機工程與設計,2014,17(4):71-75.

[5]管瑩,基于hadoop的實驗數據管理系統(tǒng)的實現,電腦編程技巧與維護,2014,11(4):42-45.

[6]郭朝鵬,HaoLap:基于Hadoop的海量數據OLAP系統(tǒng),計算機研究與發(fā)展,2013,50(z1):380-383.

[7]李唐平,基于矩陣的關聯規(guī)則算法與Apriori算法的研究及改進,計算機學報,2013, 31(5):120-126.

Design of data analysis system of the supermarket based on Hadoop

LIBo,FANLi-li

(School of Mathematics and Computer Science, Wuhan Polytechnic University, Wuhan 430023,China)

Abstract:Big data weapon - Hadoop, makes the mass data processing and analysis become cheaper and faster, attracting many enterprises in urgent need to optimize the industry model.This paper presents a data analysis system, the system based on the magnanimity of the small supermarket ticket data, complexity, the use value, uses distributed architecture, Hadoop data analysis platform to process and analyze the small supermarket ticket data processing, using the optimized association rules algorithm to analyse the relevance of the supermarket sales of goods and prediction of consumer behavior, so as to improve the supermarket merchandise sales and profits of a supermarket.

Key words:big data;Hadoop;association rule algorithm;data mining

DOI:10.3969/j.issn.2095-7386.2015.04.012 10.3969/j.issn.2095-7386.2015.04.011

文章編號:2095-7386(2015)04-0047-04 2095-7386(2015)04-0039-08

基金項目:武漢輕工大學校級大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目(xsky2015031). 湖北省教育廳科學技術研究項目(B20150008);武漢輕工大學引進(培養(yǎng))人才科研啟動資金項目(2014RZ01);2014武漢輕工大學實踐教學改革面上項目;2015武漢輕工大學人文社科重點項目(2015d12);2014年武漢輕工大學大學生科研項目和武漢輕工大學大學生創(chuàng)新創(chuàng)業(yè)項目.

通信作者:王防修(1973-),男,副教授,E-mail:wfx323@126.com. 張帆(1977-),男,博士,講師,E-mail:whpuzf@whpu.edu.cn.

作者簡介:魏志威(1994-),男,本科生,E-mail:1254915044@qq.com. 龔嫻(1995-),女,本科生,E-mail:709071083@qq.com.

收稿日期:2015-06-29. 2015-06-04.修回日期:2015-08-14.

中圖分類號:TP 311.13

文獻標識碼:A

猜你喜歡
數據挖掘大數據
探討人工智能與數據挖掘發(fā)展趨勢
基于并行計算的大數據挖掘在電網中的應用
基于大數據背景下的智慧城市建設研究
一種基于Hadoop的大數據挖掘云服務及應用
高級數據挖掘與應用國際學術會議
承德市| 浦东新区| 德惠市| 莱西市| 常宁市| 垦利县| 山东| 绵竹市| 淮安市| 彭阳县| 孝感市| 历史| 田林县| 建德市| 怀安县| 青浦区| 安化县| 丹棱县| 龙州县| 德格县| 榕江县| 贵定县| 拉孜县| 尼木县| 韶山市| 昌乐县| 含山县| 乌兰浩特市| 乌拉特中旗| 威宁| 桐庐县| 织金县| 营口市| 冷水江市| 南开区| 遂昌县| 巨野县| 长沙市| 安阳县| 建阳市| 洛阳市|