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

大數據處理平臺比較與分析

2015-11-10 07:10:20何海林皮建勇
網絡安全與數據管理 2015年11期
關鍵詞:用戶

何海林 ,皮建勇

(1.貴州大學 計算機科學與信息學院,貴州 貴陽 550025;2.貴州大學 云計算與物聯網研究中心,貴州 貴陽 550025)

0 引言

在這個知識爆炸性增長的社會,隨著各種技術的進步,人們越來越依賴身邊的各種終端設備進行各種各樣的生產生活,而這些設備會產生大量的數據。如何從這些數據中高效地獲得有用信息成為一個有經濟價值的問題。Hadoop[1]憑借其良好的出身與優越的性能,如高可靠性、高可擴展性、高效性,并且它是開源的,已經成為大數據分析的標準框架。但是Hadoop并不適用于所有場合,它有其本身不可克服的缺點,如訪問時間延遲過長不適用于時間要求較高的應用,代碼越來越長限制了它更大規模的應用。這時候Spark[2]異軍突起,克服了Hadoop的眾多缺點。

1 Hadoop

Hadoop是Apach的一個開源項目,Hadoop提供了一個分布式文件系統(HDFS)[3]和一個用于分析和轉化大規模數據集的 MapReduce[4]框架,Hadoop的一個重要特點就是通過對數據進行分割在多臺主機上進行運行,并且并行地執行應用計算。其中HDFS用于存儲數據,MapReduce是Google公司的一項重要技術,后被模仿,它主要采用并行計算的方法用于對大數據的計算。它們之間的關系如圖1。以Hadoop分布式文件系統和MapReduce分布式計算框架為核心,為用戶提供了底層細節透明的分布式基礎設施。HDFS的高容錯性和高彈性的優點,允許用戶將其部署到廉價的機器上,構建分布式系統。MapReduce分布式計算框架允許用戶在不了解分布式系統底層細節的情況下開發并行分布的應用程序,充分利用大規模的計算資源,解決傳統單機無法解決的大數據處理問題。

圖1 基本架構

1.1 MapReduce編程模型

正與其名字一樣,MapReduce包含兩項關鍵操作:Map與Reduce,兩者來源于函數式編程語言,并且作為MapReduce的兩項核心操作由用戶編程完成。如圖2,MapReduce模型包含Map、Shuffle和 Reduce三個階段。

圖2 Map和Reduce

Map階段:輸入數據被系統分為相互獨立的片塊,這些小塊同時被Map處理,在用戶指定的Map程序中執行,最大限度地利用并行處理產生結果,最后Map階段的輸出作為Reduce階段的輸入。

Shuffle階段:將具有相同鍵的記錄送到同一個Reduce。

Reduce階段:將Shuffle的輸出作為輸入進行處理產生最終結果。

在MapReduce中的處理主要靠鍵值對實現。例如輸入的記錄用表示,在Map階段讀入記錄處理產生結果,Map階段的輸出用模式表示,如果幾個記錄需要在Reduce階段一起處理,那么這些記錄就會被同一個Reduce處理,在Shuffle階段,將具有相同鍵的送到同一個Reduce,這樣,在Reduce階段Map階段的輸出被最終輸出為。可以用下面的式子表示:

1.2 HDFS

HDFS當初被發展主要是為了實現與GFS[5]相似的功能,HDFS是Hadoop的文件系統的組件,它的接口與UNIX文件系統相似,犧牲了標準,是為了提高應用的性能。

HDFS正如GFS一樣將系統數據與應用數據分開進行存放。存放元數據在專門的服務器上,叫做NameN-ode,應用數據存放在其他服務器上叫做 DataNode,所有的服務器通過TCP協議來進行連接。不同于Lustre[6]與PVFS[7],數據節點在 HDFS不采用數據保護機制,例如磁盤陣列RAID來確保數據的持久性,而是采用與GFS類似的方式將數據目錄復制到多個數據節點來保證其可靠性,并能保證數據的持久性,這種策略恰好又讓數據傳輸的帶寬提高了多倍,可以讓數據存放在離局部計算更近的地方,幾個分布式文件系統或多或少地實現了命名空間。

2 Spark

Spark誕生于美國加州理工大學AMPLab集群計算平臺,利用內存計算速度快的特點,并從MapReduce不適用于在多個并行操作之間重用工作數據集(多迭代批量處理與交互式數據分析)的特點出發,在流處理和圖計算等多種計算范式具有更加強的能力。由此提出了一種新的架構叫做Spark,用于處理迭代機器學習算法,以保持像MapReduce一樣的高擴展性與容錯能力。Spark引入了RDD,即彈性分布式數據集(resilient distributed datasets,RDD)[8]。

Spark是通過Scala[9]實現的一種基于Java虛擬機的高級編程語言,提供類似于DryadLINQ的編程接口,這樣編寫并行任務變得非常方便。同時Spark還可以修改Scala的編譯器,與 Ruby和Python一樣,Scala也提供了一個交互式shell。實現時間延遲減少的方法主要是基于內存的數據,通過允許用戶從解釋器交互式地運行Spark,從而可以在大數據集上實現大規模并行數據挖掘。雖然現階段Spark還是一個原型,但是前途還是令人鼓舞的。實驗表明,在處理迭代式應用上Spark比Hadoop的速度提高20多倍,計算數據分析類報表的性能提高了40多倍,在交互式查詢39 GB數據集時可以達到次秒級響應時間。

Spark應用稱為driver,實現單個節點或多個節點上的操作。與Hadoop一樣,Spark支持單節點和多節點集群,可以在Hadoop文件系統中并行運行。通過名為Mesos[10]的第三方集群框架可以支持此行為。這種配置的優點是:允許Spark與Hadoop共用一個節點共享池,擴大了應用范圍。

要想使用Spark,開發者需要編寫一個Driver程序,連接到集群以運行worker,如圖3所示。Driver定義了一個或多個RDD,并調用RDD上的動作。worker是長時間運行的進程,將RDD分區以Java對象的形式緩存在內存中。

圖3 Driver

RDD是一種分布式的內存抽象。Spark引入的RDD采用了Scala編程風格,因為Scala特性決定了RDD是一個Scala表示的對象,RDD不需要存在于物理存儲中。RDD的一個句柄包含足夠的信息計算RDD,這就意味著RDD可以以四種方式重建[11]:

(1)改變已有RDD的持久性,RDD是懶散和短暫的,數據集在進行并行操作時已經按照要求進行了實例化(如請求將已有RDD緩存在內存中,之后會被拋出內存)。

(2)從其他RDD轉換得來,一個數據集元素類型為A可以通過調用flatmap轉換為數據類型B。

(3)將Driver中Scala的集合劃分為并行切片,分布在各個節點之間。

(4)一個從文件系統創建的 Scala對象。

RDD的以上操作決定了它有數據流的特點,比如:位置感知調度、強大的自動容錯,以及很好的可伸縮性。這樣在有多個查詢請求時Spark會將工作集緩存在內存中,如果內存不夠用,可以寫到硬盤上,后續查詢時提高了重用度,可以讓查詢速度有質的提升。

3 實驗

3.1 實現設置

本次實驗采用4 000家餐廳140萬條點評數據,先預處理,再通過運行K-means算法[12]將數據分為四類,對比在兩種平臺上的迭代時間。K-means算法是聚類算法中最簡單的一種,它需要不斷地迭代直到收斂。

設備:3臺內存為2 GB、硬盤為500 GB的PC安裝搭建Hadoop后再安裝Spark,其中K-means的Scala的主要代碼為:

迭代時間花費如圖4所示。

圖4 迭代時間

3.2 結果分析與兩者對比

在搭建實驗環境與編寫實驗程序階段可以看出,Spark提供了與 Scala、Java、Python編程一樣的高級 API,這樣便于開發并發處理應用程序。Hadoop每一次迭代會在工作集上反復調用一個函數,每一次迭代都可以看做是Mapduce的任務,每一次任務的執行,都需要從硬盤重新下載數據,這會顯著地增加時間延遲,而Spark卻不用從硬盤調用,只需從內存調用。

兩者對比,Spark相較于Hadoop最顯著的特征就是快,Spark對于小數據集能夠達到亞秒級的延遲,這相對于Hadoop MapReduce由于“心跳機制”要花費數秒的性能而言無疑是飛躍,Hadoop經常被用于在大數據上通過Sql接口(如 Pig和 Hive)運行 Ad-hoc探索性查詢,實際上用戶可以將數據集裝載到內存進行查詢,然而,Hadoop通過MapReduce任務進行,由于反復從硬盤讀取數據,因此它的延遲非常大。其次,首先安裝的是Hadoop,最后安裝的是Spark,后者借助前者的基礎,與其實現了完美融合,憑借Scala(被業界譽為未來Java的取代者)的強大功能,Scala能運行在運行JVM的任何地方,還可以充分利用大量現存的Java庫和現有的Java代碼。因此,Spark只需要稍作修改,就可以交互式編程。通過對比代碼數量可以發現,由于Scala的簡潔性以及Spark非常好地利用了Hadoop和Mesos的基礎設施,Spark代碼量明顯少了許多。

4 結束語

本文介紹了Hadoop與Spark的基本概念與設計思想。可以看出Spark實際上作為對Hadoop的一種補充,在處理迭代工作與交互式數據分析方面具有優越性。兩者開始顯現出一種融合的趨勢,從Hadoop0.23把MapReduce做成庫開始,Hadoop的目標就是要支持包括MapReduce在內的更多的并行計算模型,比如MPI、Spark等。未來隨著技術的發展究竟誰會被取代很難預料,應當取長補短,優勢互補。新的需求會產生新的平臺,如為了強調實時性而發展的Storm[13],常用于實時性要求較高的地方。未來如何實現更多融合,是一個值得發展的方向。

[1]WHITE T.Hadoop:the definitive guide:the definitive guide[Z].O′Reilly Media,Inc.,2009.

[2]INCUBATOR A.Spark:Lightning-fast cluster computing[Z].2013.

[3]SHVACHKO K,KUANG H,RADIA S,et al.The hadoop distributed file system [C].Mass Storage Systems and Technologies(MSST),2010 IEEE 26th Symposium on.IEEE,2010:1-10.

[4]DEAN J,GHEMAWAT S.MapReduce:simplified data processing on large clusters[J].Communications of the ACM,2008,51(1):107-113.

[5]GHEMAWAT S,GOBIOFF H,LEUNG S T.The Google file system[C].ACM SIGOPS operating systems review,ACM,2003,37(5):29-43.

[6]BRAAM P J.The Lustre storage architecture[Z].2004.

[7]ROSS R B,THAKUR R.PVFS:A parallel file system for Linux clusters[C].Proceedings of the4th annual Linux showcase and conference, 2000:391-430.

[8]ZAHARIA M,CHOWDHURY M,DAS T,et al.Resilient distributed datasets:a fault-tolerant abstraction for in-memo-ry cluster computing[C].Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation.USENIX Association,2012:2-2.

[9]ODERSKY M,SPOON L,VENNERS B.Programming in scala[M].Artima Inc,2008.

[10]HINDMAN B,KONWINSKI A,ZAHARIA M,et al.Mesos:a platform for Fine-Grained resource sharing in the data center[C].NSDI,2011:22-22.

[11]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:10.

[12]WAGSTAFF K,CARDIE C,ROGERS S,et al.Constrained k-means clustering with background knowledge[C].ICML,2001:577-584.

[13]MARZ N.Storm:distributed and fault-tolerant realtime computation[Z].2013.

猜你喜歡
用戶
雅閣國內用戶交付突破300萬輛
車主之友(2022年4期)2022-08-27 00:58:26
您撥打的用戶已戀愛,請稍后再哭
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年5期)2016-11-28 09:55:15
兩新黨建新媒體用戶與全網新媒體用戶之間有何差別
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
挖掘用戶需求尖端科技應用
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 欧美视频在线第一页| 精品午夜国产福利观看| 凹凸国产熟女精品视频| 精品人妻无码中字系列| 日韩精品一区二区深田咏美| 国产原创第一页在线观看| 日韩欧美视频第一区在线观看| 久久这里只有精品免费| 91麻豆精品国产91久久久久| 欧美另类图片视频无弹跳第一页| 国产精品观看视频免费完整版| 乱人伦中文视频在线观看免费| 国产在线观看人成激情视频| 亚洲 欧美 中文 AⅤ在线视频| 亚洲成aⅴ人在线观看| 国产乱子精品一区二区在线观看| 天天摸天天操免费播放小视频| 国产aⅴ无码专区亚洲av综合网 | 第一区免费在线观看| 91免费观看视频| 亚洲精品在线91| 无码高潮喷水专区久久| 日韩毛片免费观看| 国产欧美日韩视频怡春院| 中文字幕亚洲综久久2021| 日韩精品专区免费无码aⅴ| 免费看a毛片| 国产精品女在线观看| 欧美精品xx| 99草精品视频| 国产成人亚洲无吗淙合青草| 色欲色欲久久综合网| 国产不卡一级毛片视频| 制服丝袜 91视频| 91精品国产自产在线老师啪l| 亚洲无码不卡网| 五月天久久婷婷| 真实国产乱子伦视频| 熟妇人妻无乱码中文字幕真矢织江 | 蜜臀AV在线播放| 亚洲欧美自拍视频| 欧美一级大片在线观看| 午夜人性色福利无码视频在线观看| 欧美A级V片在线观看| 国产手机在线观看| 91午夜福利在线观看| julia中文字幕久久亚洲| 午夜精品福利影院| 色婷婷啪啪| 国产经典三级在线| 九九九九热精品视频| 91无码人妻精品一区| 538精品在线观看| 日本道综合一本久久久88| 色老头综合网| 丝袜久久剧情精品国产| 波多野结衣爽到高潮漏水大喷| 美女扒开下面流白浆在线试听| 国产视频入口| 特级毛片免费视频| 亚洲人成网线在线播放va| 亚洲精品片911| 国产福利小视频在线播放观看| 大学生久久香蕉国产线观看| 欧美性天天| 日韩欧美91| 国产嫩草在线观看| 国产日韩精品欧美一区灰| 97国产一区二区精品久久呦| 99久久精品免费看国产电影| 中文字幕乱码二三区免费| 激情影院内射美女| 亚洲国产系列| 欧美另类视频一区二区三区| 97久久精品人人做人人爽| 干中文字幕| 国产美女叼嘿视频免费看| 98超碰在线观看| 国产一区二区影院| 国产老女人精品免费视频| 欧美日韩在线成人| 国产欧美视频综合二区|