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.

主站蜘蛛池模板: 香蕉国产精品视频| 成人欧美在线观看| 国产成人精品2021欧美日韩| 久久性妇女精品免费| 国产精品任我爽爆在线播放6080 | 欧美日韩中文国产| 欧美人在线一区二区三区| 91视频精品| www.亚洲一区| 久久精品国产91久久综合麻豆自制| 国产成人永久免费视频| 先锋资源久久| 国产91丝袜| 直接黄91麻豆网站| 亚洲视频影院| 成人夜夜嗨| 四虎精品国产永久在线观看| 精品国产自在现线看久久| 无码专区国产精品第一页| 久草视频精品| 日韩AV无码免费一二三区| 在线播放国产一区| 国产va在线观看免费| 亚洲欧美国产视频| 免费一级无码在线网站| 国产精品手机在线播放| 国产成人久久777777| 一区二区在线视频免费观看| 中文字幕啪啪| 久久久久久午夜精品| 日本人妻丰满熟妇区| 亚洲av成人无码网站在线观看| 亚洲无码高清免费视频亚洲| 亚洲男人在线| 午夜少妇精品视频小电影| 伊人无码视屏| 91丨九色丨首页在线播放| 日韩无码白| 日本欧美午夜| 波多野结衣视频一区二区| 91www在线观看| a级毛片网| 9966国产精品视频| 亚洲欧洲国产成人综合不卡| 狠狠久久综合伊人不卡| 国内精自线i品一区202| 国产人成在线观看| 黄色三级网站免费| 日韩无码视频播放| 54pao国产成人免费视频| 一本二本三本不卡无码| 波多野结衣无码视频在线观看| 免费无码又爽又黄又刺激网站| 欧美日本激情| 欧美国产日产一区二区| 日韩精品一区二区三区中文无码| 亚洲天堂高清| 免费无码网站| 亚洲日韩Av中文字幕无码| 日韩精品高清自在线| 亚洲青涩在线| 精品福利视频网| 成年人久久黄色网站| 国产视频入口| 色婷婷国产精品视频| 国产精品极品美女自在线看免费一区二区 | 福利在线不卡| 日本亚洲欧美在线| 亚洲综合国产一区二区三区| 国产最爽的乱婬视频国语对白| 日本不卡在线| 91免费国产在线观看尤物| 日韩欧美国产精品| 成人一级免费视频| av天堂最新版在线| 91精品视频网站| 国产精品成人免费综合| av天堂最新版在线| 欧美一区二区自偷自拍视频| 国产一级二级三级毛片| 国产国产人在线成免费视频狼人色| 在线国产91|