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

Spark 2.0平臺在大數據處理中的應用研究

2017-05-31 06:31:57周顯春肖衡
軟件導刊 2017年5期
關鍵詞:效果

周顯春 肖衡

摘要摘要:Spark分布式框架具有利用數據集內存緩存、啟動任務的低遲延、迭代類運算、實時計算的支持和強大的函數式編程接口等特征。描述Spark 集群環境的搭建過程,將Spark 應用到預測森林植被中,對基于RDD和基于Data Frame接口的Spark隨機森林算法的性能差異進行比較。實驗結果表明,基于Dataset結構的隨機森林法預測效果好、執行時間短,可以廣泛使用。

關鍵詞關鍵詞:Spark 2.0;隨機森林算法;Dataset;集群環境

DOIDOI:10.11907/rjdk.171184

中圖分類號:TP391

文獻標識碼:A文章編號文章編號:16727800(2017)005014903

0引言

數據爆炸式增長和隱藏在這些數據之后的商業價值催生了一代又一代的大數據處理技術。2004年Hadoop橫空出世,由Google公司提出的開源的MapReduces的大數據處理框架拉開了其在企業應用的序幕,它被視為解決高性能處理大數據的有效方案。但是MapReduces框架不僅存在單點故障,而且對實時數據和流式數據訪問能力弱,導致基于MapReduces框架的Hadoop平臺應用推廣受到較大影響。

Apache Spark是另一種分布式、開源計算框架,目的是簡化基于計算機集群的并行程序的編寫。Spark不僅可以發揮MapReduces對大數據的處理能力[1],還可以充分利用數據集內存緩存、啟動任務的低遲延、迭代類運算、實時計算的支持和強大的函數式編程接口[2]。Spark是Apache的頂級開源項目,功能不斷完善。現在最新版本為Spark 2.10,它集成了基于RDD和DataFrame(Dataset)兩種編程接口。為了簡化編程,方便更多人使用,同時進一步提高數據處理速度,Spark 3.0版本會摒棄直接面對用戶的基于RDD編程接口。目前,Spark分布式框架在基于機器學習和迭代處理的大數據分析上有廣泛應用。

1Spark2.0 基本原理

Spark繼承了MapReduces的線性擴張性和容錯性,同時對它作了一些重量級擴展,主要包括核心數據結構:RDD(Spark 3.0以后使用Data Frame、Dataset)。

RDD是Spark的核心數據結構,是一種基于內存彈性分布式數據集[3]。利用RDD可以把一部分數據,包括中間結果緩存在內存中,為后續計算所重復利用,不需要像其它計算結構需要反復訪問磁盤,節省了大量時間。與Hadoop MapReduce相比,其實驗的性能要快100倍,訪問磁盤的性能快10倍[4]。基于DataFrames/Dataset的高層API,利用PipeLine可以方便用戶構建和調試機器學習流水線,完成高效的數據處理。RDD(DataFrames、Dataset)數據結構解決了MapReduces存在的很多問題。

(1)解決了MapReduces啟動遲緩問題[5]。利用Spark采用的有向無環圖的任務調度機制,可以對多個Stage的Task進行串聯或并聯Excutor,無需將每個Stage的中間結果保存到HDFS,不需要訪問磁盤,因此可以節省時間。尤其在計算機集群的環境下,可以避免運算時過量的網絡和磁盤IO開銷。

(2)支持迭代計算。迭代計算需要訪問相同的數據集,采用基于內存的RDD/DataFrame/Dataset結構可以避免重新計算和從磁盤加載。

(3)支持實時計算。基于Spark構建Spark Straming 是在Spark基礎上的二次開發,主要是將其實時、流水任務離散化成一系列的DStream的數據窗口[6],最小窗口選擇只需要0.5~2s,滿足大多數的準實時計算場景。

(4)性能優化。Dataset API建立在Spark SQL引擎之上,它可以利用Catalyst來優化邏輯計劃和物理查詢計劃。而且采用特殊的Encoder,不僅可以有效序列化JVM object,還可以直接被Spark的許多操作,如Filter、Sort、Hash等使用,從而提高執行速度。

2Spark2.0在預測森林植被中的應用

目前,Spark支持4種運行模式。本地單機模式、集群模式、基于Mesos、基于YARN、基于EC。本文的Spark分布式集群基于YARN,即Hadoop2。

2.1Spark分布式集群環境搭建

實驗環境所需的軟硬件設備如下:

軟件:操作系統采用Ubuntu Server 16.10 版本,Hadoop 2.7 版本,JDK 1.8 版本,虛擬軟件VMware Station Pro 12;硬件:1 臺聯想臺式機,CPU 是主頻3.4GHz的Intel的酷睿i7,超頻4.2 GHz,硬盤容量1T,內存16GB。

Spark集群環境的搭建過程如下:

(1) 安裝3臺虛擬機,OS版本ubuntu server 16.10 版本,并通過Hostname、Interfaces、Hosts文件分別設置主機名(Master、Slave1、Slave2)、IP地址,以及DNS映射關系,執行sudo ufw disable、Ping分別關閉防火墻以及檢驗3臺虛擬機互通無阻。

(2)在每臺虛擬機上安裝JDK、Scala、Hadoop、Spark并配置相關的Java環境變量。

(3)在每臺機器上執行安裝openssh-server服務,執行ssh-keygen生成SSH 密鑰文件,保證相互直接建立不需要密碼的SSH可信通道。

(4)修改Spark目錄下conf/core-site.xml、mapred -site.xml、 yarn-site.xml、hdfs-site.xml、hdfs-env.sh、masters、slaves文件,確保能夠正常啟動Spark。

2.2隨機森林算法預測森林植被實現

在Spark機器學習中,用于分類的算法有很多,其中效果較好的有SVM和隨機森林算法。隨機森林(Random Forest,RF)是由 Leo Breiman 將 Bagging 集成學習理論[7]與隨機子空間方法[8]相結合,于2001年提出的一種機器學習算法[9]。RF利用Bootstrap重抽樣方法從原始樣本中多次隨機抽取不同特征的子集數據組成訓練樣本,構建多棵、合理、獨立的子樹,然后融合多棵決策樹的預測結果。在大數據背景下,RF不僅能夠與Spark和Map Reduce的并行處理特征完美結合,預測效果好,而且基于Dataset 的執行時間要比基于RDD的少。

為了更加深入地了解RF性能,尤其是測試效果,需要在實踐中進行檢驗。本實驗數據采用Kaggle大賽的數據Forestcover-Type-Prediction,記錄了美國科羅拉多州不同地塊森林植被特征:海拔、坡度、與水源的距離、遮陽情況和土壤類型,并給出了地塊的已知森林植被類型,共54特征,有581012個樣本[10]。本實驗主要比較基于RDD和基于Data Frame[Row]/Dataset API接口的Spark隨機森林算法的性能差異。關鍵代碼及參數如下:

2.3性能分析

通過對決策樹、隨機森林模型的impurity、maxDepth、maxBins、minInfoGain、numTrees(只有隨機森林才有此參數)、maxMemoryInMB等參數進行調試,對比其性能,找到最優參數及模型。下面分別從訓練時間、最佳參數、預測效果的Accuracy 3個方面進行比較。

2.3.1尋找最佳參數訓練時間比較

由表1可以發現,隨機森林算法的訓練時間,無論是基于RDD數據結構還是基于Datase結構,都要比決策樹算法的訓練時間長。實驗過程中的數據也顯示,隨著隨機森林算法的樹深度的加大和樹數量的增加,訓練時間明顯延長。

2.3.2尋找最佳模型參數

從表2中可以發現,與決策樹的最佳參數相比較,隨機森林算法的最佳參數深度相近,桶數數量相差很大,該數據為調試最佳參數有一定的參考意義。

2.3.3預測效果Accuracy比較

由表3可知,與決策樹的Accuracy相比,隨機森林算法的Accuracy明顯要高(無論是訓練數據、交叉數據,還是測試數據)。這說明多棵樹的評價效果比單棵樹的預測效果好。

3結語

Spark實現了分布式計算框架,它是采用分布式處理大規模數據的最有效途徑。在搭建好的實驗環境下,對基于RDD和基于Data Frame[Row]/Dataset API接口的Spark隨機森林算法的性能差異進行了比較,相對而言,基于RDD接口的隨機森林算法的執行效率較差。并且將隨機森林算法與決策樹算法比較,更好地體現了隨機森林算法良好的預測效果,但是訓練的時間進一步延長了。如何在集群環境中針對數據的特性,利用Spark平臺快速找到相應的模型并通過調整模型參數使預測效果達到最佳,將是下一步研究的重點。

參考文獻參考文獻:

[1]唐振坤.基于Spark的機器學習平臺設計與實現[D].廈門:廈門大學,2014.

[2]NICK PENTREATH.Spark機器學習[M].蔡立宇,黃章帥,周濟民,譯.北京:人民郵電出版社,2016:13.

[3]ZAHARIA M,CHOWDHURY M,FRANKLIN M J,et al.Spark:cluster computing with working sets[C].Proceedings of the 2nd USENIX conference on Hot topics in cloud computing,2010.

[4]XIN R S,ROSEN J,ZAHARIA M,et al.Shark:SQL and rich analytics at scale[C].Proceedings of the 2013 international conference on Management of data,2013:1324.

[5]劉軍,林文輝,方澄著.Spark大數據處理原理、算法與實例[M].北京:清華大學出版社,2016:2023.

[6]ZAHARIA M,DAS T,LI H,et al.Discretized streams:an efficient and faulttolerant model for stream processing on large clusters[C].Proceedings of the 4th USENIX conference on Hot Topics in Cloud Computing,2012.

[7]BREIMAN L.Bagging predictors[J].Machine Learning,1996,24(2):123140.

[8]HO T.The random subspace method for constructing decision forests[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1998,20(8):832844.

[9]BREIMAN L.Random forests[J].Machine Learning,2001,45(1):532.

[10]SANDY RYZA,URIL LASERSON,SEAN OWEN,et al.Spark高級數據分析[M].龔少成,譯.北京:人民郵電出版社,2016.

責任編輯(責任編輯:孫娟)

猜你喜歡
效果
按摩效果確有理論依據
保濕噴霧大測評!效果最驚艷的才20塊!
好日子(2021年8期)2021-11-04 09:02:46
笑吧
迅速制造慢門虛化效果
創造逼真的長曝光虛化效果
四種去色效果超越傳統黑白照
抓住“瞬間性”效果
中華詩詞(2018年11期)2018-03-26 06:41:34
期末怎樣復習效果好
模擬百種唇妝效果
Coco薇(2016年8期)2016-10-09 02:11:50
3D—DSA與3D—CTA成像在顱內動脈瘤早期診斷中的應用效果比較
主站蜘蛛池模板: 在线观看亚洲人成网站| 亚洲天堂成人在线观看| 国产午夜无码专区喷水| 欧美日韩免费| 欧美不卡二区| 国产成人精品日本亚洲77美色| 欧美成人综合视频| 91精品视频在线播放| 国产精品无码AV中文| 另类欧美日韩| 亚洲经典在线中文字幕| 午夜日b视频| 日本一区高清| 99伊人精品| 一级毛片免费的| 色综合成人| 亚洲一区毛片| 高清不卡一区二区三区香蕉| 狠狠色成人综合首页| 色综合成人| 久久这里只有精品23| 日本三区视频| 国产自在自线午夜精品视频| 福利在线不卡| 欧美成人手机在线观看网址| 中文字幕无码电影| 久久超级碰| 色窝窝免费一区二区三区 | 狂欢视频在线观看不卡| 亚洲二区视频| a毛片在线| 亚洲三级a| 伊人国产无码高清视频| 日韩美毛片| 日本在线国产| 国产成人精品一区二区| 亚洲精品777| 2021天堂在线亚洲精品专区| 色综合中文| 亚洲精品人成网线在线| 日本黄色不卡视频| av在线手机播放| 久久 午夜福利 张柏芝| 久久久噜噜噜| 亚洲精品福利视频| 亚洲人人视频| 久久久久夜色精品波多野结衣| 99精品在线视频观看| 日本91视频| 中国成人在线视频| 四虎影视库国产精品一区| 日本欧美午夜| 亚洲精品成人福利在线电影| 亚洲天堂视频在线观看| 免费毛片a| 国产成人8x视频一区二区| 国产91透明丝袜美腿在线| 狠狠色噜噜狠狠狠狠色综合久| 亚洲最大福利网站| 99在线观看国产| 香蕉久人久人青草青草| 国产av无码日韩av无码网站| 久热精品免费| 久久精品午夜视频| 狠狠亚洲五月天| 亚洲免费黄色网| 老司机午夜精品视频你懂的| 国产一区二区三区在线观看视频| 色欲国产一区二区日韩欧美| 国产精品一线天| 亚洲天堂日韩在线| 免费一级毛片| 色婷婷成人| www.日韩三级| 欧美精品不卡| 影音先锋丝袜制服| 亚洲国内精品自在自线官| 高清视频一区| 久久精品无码一区二区国产区| 一本大道香蕉中文日本不卡高清二区| 亚洲综合婷婷激情| 97亚洲色综久久精品|