999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Hadoop平臺的Spark快數據推薦算法分析與應用

2016-04-12 00:00:00陳虹君吳雪琴
現代電子技術 2016年10期

摘 要: Hadoop大數據平臺上可以搭建Yarn,Mahout,Storm,GraphLab等框架,其提供了大數據的各種處理能力。但它們各自按自己的機制工作,整合度極低。雖然在Mahout框架中,對機器學習的算法支持較為完善,但是數據必需是離線的。在大數據時代,要求不僅具有處理能力,還強調了數據的時效性,以前的框架都顯得有點力不從心。Spark是Hadoop平臺上的新型利器,它的各個部分幾乎能替代以前的分散的框架,且采用統一的處理機制,整合度很好,速度比傳統處理方式快幾十倍甚至幾百倍。基于Hadoop平臺的Spark快數據推薦算法分析與應用是在Hadoop平臺上用Yarn作資源管理,Spark作快數據的處理,這極大地提高了大數據的處理效率。該文以專業推薦系統為應用基礎,采用Yarn作資源管理,及Spark ALS算法做推薦,Spark PageRank算法做專業排名,實驗結果表明,Spark框架對大數據的處理機制能夠滿足日益增值的大數據應用對速度的要求。

關鍵詞: Hadoop; Spark; 快數據; ALS算法; PageRank算法

中圖分類號: TN911?34 文獻標識碼: A 文章編號: 1004?373X(2016)10?0018?03

Analysis and application of Spark fast data recommendation algorithm based

on Hadoop platform

CHEN Hongjun1, WU Xueqin2

(1. Chengdu College, University of Electronic Science and Technology of China, Chengdu 610074, China;

2. Sichuan TOP IT Vacational Institute, Chengdu 611743, China)

Abstract: Analysis and application of Spark fast data recommendation algorithm based on Hadoop platform is to use Yarn as resource management on Hadoop platform, and Spark as fast data processing, which greatly improves the processing efficiency of large data. In this paper, the specialty recommendation system is taken as application foundation, Yarn as resource management, Spark ALS algorithm as the basis of professional recommendation system, and Spark PageRank algorithm as specialist ranking. The experimental results show that, as for the big data processing mechanism , the Spark framework can meet the speed requirement of increasingly value?added big data application.

Keywords: Hadoop; Spark; fast data; ALS algorithm; PageRank algorithm

Hadoop平臺是開源組織Apache基金會開發的分布式架構,是大數據的基礎平臺。Hadoop平臺上目前可以搭建Yarn,Mahout,Storm,GraphLab和Spark等。Yarn用于資源管理,自動或者手動地為大數據挖掘提供容器資源。在Mahout框架中對機器學習的算法支持較為完善,缺點是數據必須是離線的,不能做到實時性,同時由于其采用MapReduce計算模型,隨著數據量的增大,其挖掘時效已經達不到要求。Storm用于實時在線數據的處理。GraphLab主要用于圖計算。Spark框架稱為快數據,是基于內存的編程模型,它可以把中間的迭代過程不放在磁盤中,直接數據一個不落地在內存中執行,極大地提高了它的執行速度。Spark是大數據挖掘的新型利器。Spark的優點不僅僅體現在快,也體現在功能強大的整合能力,其整合能力體現在它的大數據能力的強大。 Spark的框架分為4大模塊:Spark SQL?RDD(數據執行的基本單元),MLlib(機器學習),Graphx(圖計算)和Spark Streaming(實時處理)[1];這四個部分的數據處理單元都是RDD,所以整個框架形成了大數據處理各種應用場景編程的一致性。Spark框架集機器學習、圖計算和在線學習于一身,是一個簡潔、強大、高效的框架。

1 專業推薦的理論基礎

專業推薦旨在基于Hadoop平臺的Spark框架,采用Spark SQL的RDD數據處理機制對數據做結構的包裝,采用Spark 機器學習Mllib中的ALS算法作推薦,以及利用Spark 圖計算的PageRank算法做專業排名,通過以上機制能夠達到對報考志愿的學生按相似性格作專業推薦,并對專業做評分[2]。流程圖如圖1所示。

1.1 RDD的數據表示機制

RDD(Resilient Distributed Datasets),稱為彈性分布式數據集[3],本質上是Spark分布式內存模型中的數據結構,可以讓用戶顯式地將數據存儲到磁盤和內存中,并能控制數據的分區。 對開發者而言,RDD可以看作是Spark的一個對象,它本身運行于內存中,如讀文件是一個RDD,對文件計算是一個RDD,結果集也是一個RDD ,不同的分片、 數據之間的依賴、key?value類型的map數據都可以看做RDD。Spark SQL允許在SQL和HiveQL中的相關查詢表達式在Spark中的執行。

RDD是高度受限的共享內存模型,即RDD是只讀的記錄分區的集合,只能通過在其他RDD執行確定的轉換操作(如map,filter,join,partionBy和groupByKey等)而創建,但是這種創建過程的開銷很低。

在專業推薦對存在Hadoop文件系統HDFS中待處理數據data進行RDD的轉換,程序片段如:

val ratings = data.map(_.split(′,′) match {

case Array(user, major, rate) => Rating(user.toInt, major.toInt, rate.toDouble)

})

把對經過ALS算法和PageRank算法的結果進行RDD轉換。

val prData = ranks.join(majors).map {

case (id, (rank, major)) => (rank, (major, id))

}.sortByKey(1).zipWithIndex().map {

case ((rank,(major, id)),index) => (id.toInt,(major,rank,index))

}

1.2 ALS算法

ALS是交替最小二乘(Alternating Least Squares)的簡稱。在機器學習的上下文中,ALS 特指使用交替最小二乘求解的一個協同推薦算法。它通過觀察到的所有用戶給產品的打分,來推斷每個用戶的喜好并向用戶推薦適合的產品。

專業推薦的打分矩陣U×M,其算法模型如下:[f(U,M)=(i,j)∈I(rij-uTimj)2+λ(inuiui2+jnmjmj2)] 式中:U表示學生,U=ui,其中i=1,2,…,nu,nu表示了學生的數量;M代表專業,M=mj,其中j=1,2,…,mj,mj表示了學生的數量;rij表示i學生對j專業的評分,這個分數可以是一個真實的數字或是無值的;T表示矩陣的轉置,λ表示矩陣的特征向量。

在專業推薦中,采用Spark的ALS算法模型做數據集的訓練及作預測函數,每次收到新的數據后,將其更新到訓練數據集中,然后更新ALS訓練得到的模型[4]。該初始數據為100萬條數據,ALS訓練模型中設置迭代次數為20,收斂值為0.01。如下語句所示,訓練后的數據集在model中。

val rank = 10

val numIterations = 20

val model = ALS.train(ratings, rank, numIterations, 0.01)

1.3 PageRank算法

PageRank算法主要應用于搜索引擎的搜索結果的排名。搜索的每個頁面的重要性可以由其“得票數”確定。“得票數”由所有鏈向它的頁面的重要性來決定。到1個頁面的超鏈接相當于對該頁投1票。1個超鏈接指向了s個頁面,那么它對每個頁面的貢獻值是[1s]。一個頁面的重要性排名PageRank是由所有鏈向它的頁面的重要性經過遞歸算法得到的[5]。

數學模型如下:

[PageRank(pi)=1-qN+qpjPageRank(pj)L(pj)]

式中:p1,p2,…,pn是被研究的專業;M(pi)是pi關注該專業的數量;L(pj)是pj關注該專業的人關注其他專業的數量,而N是所有專業的數量。在專業推薦中,采用了Spark Graphx中的PageRank算法做專業排名。代碼片段如下:

val graph = GraphLoader.edgeListFile(sc, \"hdfs://hadoop135:8020/spark/combine/Major_PR.data\").cache()

val ranks = graph.pageRank(0.001).vertices

2 實驗環境與測試結果

本實驗環境,采用Spark對比傳統MapReduce的方式對該專業模型中的ALS推薦部分做了測試。采用Hadoop 2.2大數據平臺,并采用Yarn管理有2個主機的集群。每個主機的配置:每臺機器4塊內存條,每塊4 GB,共32 GB內存,數據量為2 GB,共100萬條數據。為了更好的測試運行的效率,實驗對比了ALS算法,如表1所示。

表1 Spark對比傳統MapReduce的執行效率

實驗得出,Spark處理推薦性能明顯優于傳統的MapReduce方式。

3 結 語

Spark是Hadoop大數據平臺的一個利器,速度快,整合能力強。在大數據的分析與應用發展極為迅速的今天,Spark是非常值得研究的。本文中的專業推薦模型還可以從實時數據的收據、處理、呈現等方面繼續改進。

參考文獻

[1] 陳虹君.基于Hadoop平臺的Spark框架研究[J].電腦知識與技術,2014(35):8407?8408.

[2] SPIEWAK D, ZHAO Tian. ScalaQL: Language?integrated database queries for scala [C]// Proceedings of Second International Conference on Software Language Engineering. [S.l.:s.n.], 2009: 154?163.

[3] Anon. Resilient distributed datasets: a fault?tolerant abstraction for in?memory cluster computing, UCB/EECS?2011?82 [R]. Berkeley: EECS Department, University of California , 2011.

[4] BU Yingyi, HOWE B, BALAZINSKA M, et al. Ernst. HaLoop: efficient iterative data processing on large clusters [J]. Proceedings of VLDB endowment, 2010, 3(1): 285?296.

[5] 陳虹君.Spark框架的Graphx算法研究[J].電腦知識與技術,2015(1):75?77.

[6] 徐劍,陳群,王卓,等.一種基于Hadoop的多表鏈接策略[J].現代電子技術,2014,37(6):90?94.

主站蜘蛛池模板: 婷婷久久综合九色综合88| 在线国产资源| 制服丝袜 91视频| 国产免费福利网站| 亚洲香蕉在线| 中文字幕无码av专区久久 | 亚洲天堂在线视频| 欧美精品三级在线| 国产在线日本| 久久精品电影| 国产亚洲欧美在线中文bt天堂| 91成人精品视频| 日韩在线成年视频人网站观看| 亚洲中文字幕日产无码2021| 在线观看亚洲成人| 久久久久亚洲AV成人人电影软件| 玩两个丰满老熟女久久网| 国产美女精品人人做人人爽| 思思热在线视频精品| 国产成人综合日韩精品无码首页| Jizz国产色系免费| 国产一级毛片网站| 成人日韩视频| 亚洲婷婷六月| 国产一级毛片在线| 人妻无码AⅤ中文字| 亚洲日本www| 88av在线看| 99爱在线| 国产一区二区色淫影院| 五月激激激综合网色播免费| 蜜芽国产尤物av尤物在线看| 鲁鲁鲁爽爽爽在线视频观看| 欧美成在线视频| 99国产在线视频| 日本成人在线不卡视频| 视频国产精品丝袜第一页| 欧美色伊人| 国产无人区一区二区三区| 国产精品3p视频| 91国内外精品自在线播放| 免费国产小视频在线观看| 九色在线观看视频| 嫩草在线视频| 在线国产91| 国产97视频在线观看| 永久免费av网站可以直接看的| 国产真实乱子伦视频播放| 亚洲乱码在线视频| 99视频在线观看免费| 999在线免费视频| 亚洲综合专区| 国产拍在线| 呦系列视频一区二区三区| 亚洲色图欧美一区| 2020久久国产综合精品swag| 亚洲日韩Av中文字幕无码| 无码日韩人妻精品久久蜜桃| 欧美日韩中文字幕二区三区| 成人自拍视频在线观看| 亚欧美国产综合| 亚洲日韩高清无码| 老司机久久99久久精品播放| 久久精品只有这里有| 国产成人亚洲欧美激情| 免费看一级毛片波多结衣| 女人毛片a级大学毛片免费| 潮喷在线无码白浆| 97综合久久| 啦啦啦网站在线观看a毛片| 99精品福利视频| 亚洲天堂免费| 久久综合丝袜日本网| 在线视频亚洲欧美| 久久美女精品国产精品亚洲| 久久成人国产精品免费软件| 欧美无专区| 精品国产亚洲人成在线| 亚洲欧美在线综合一区二区三区| 中文字幕久久波多野结衣| 欧美中文字幕在线播放| 欧美区一区二区三|