成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

怎么進行Spark和MapReduce的對比

本篇文章為大家展示了怎么進行Spark和MapReduce的對比,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供江達網(wǎng)站建設(shè)、江達做網(wǎng)站、江達網(wǎng)站設(shè)計、江達網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、江達企業(yè)網(wǎng)站模板建站服務(wù),10余年江達做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

下面給大家介紹Spark和MapReduce,并且能夠在遇到諸如"MapReduce相對于Spark的局限性?"

首先  糾正一個誤區(qū)  :在瀏覽Spark官網(wǎng)時,經(jīng)常能看到如下這張圖:

怎么進行Spark和MapReduce的對比

從上圖可以看出Spark的運行速度明顯比Hadoop(其實是跟MapReduce計算引擎對比)快上百倍!相信很多人在初學Spark時,認為Spark比MapReduce快的第一直觀概念都是由此而來,甚至筆者發(fā)現(xiàn)網(wǎng)上有些資料更是直接照搬這個對比,給初學者造成一個很嚴重的誤區(qū)。
這張圖是分別使用Spark和Hadoop運行邏輯回歸機器學習算法的運行時間比較,那么能代表Spark運行任何類型的任務(wù)在相同的條件下都能得到這個對比結(jié)果嗎?很顯然是不對的,對于這個對比我們要知其然更要知其所以然。

首先,大多數(shù)機器學習算法的核心是什么?就是對同一份數(shù)據(jù)在訓練模型時,進行不斷的迭代、調(diào)參然后形成一個相對優(yōu)的模型。而Spark作為一個基于內(nèi)存迭代式大數(shù)據(jù)計算引擎很適合這樣的場景,之前的文章《Spark RDD詳解》也有介紹,對于相同的數(shù)據(jù)集,我們是可以在第一次訪問它之后,將數(shù)據(jù)集加載到內(nèi)存,后續(xù)的訪問直接從內(nèi)存中取即可。但是MapReduce由于運行時中間結(jié)果必然刷磁盤等因素,導致不適合機器學習等的迭代場景應(yīng)用,還有就是HDFS本身也有緩存功能,官方的對比極有可能在運行邏輯回歸時沒有很好配置該緩存功能,否則性能差距也不至于這么大。

相對于MapReduce,我們?yōu)槭裁催x擇Spark  ,筆者做了如下總結(jié)  :   
Spark   

1.集流批處理、交互式查詢、機器學習及圖計算等于一體

2.基于內(nèi)存迭代式計算,適合低延遲、迭代運算類型作業(yè)

3.可以通過緩存共享rdd、DataFrame,提升效率【尤其是SparkSQL可以將數(shù)據(jù)以列式的形式存儲于內(nèi)存中】

4.中間結(jié)果支持checkpoint,遇錯可快速恢復

5.支持DAG、map之間以pipeline方式運行,無需刷磁盤

6.多線程模型,每個worker節(jié)點運行一個或多個executor服務(wù),每個task作為線程運行在executor中,task間可共享資源

7.Spark編程模型更靈活,支持多種語言如java、scala、python、R,并支持豐富的transformation和action的算子
MapReduce      

1.適合離線數(shù)據(jù)處理,不適合迭代計算、交互式處理、流式處理

2.中間結(jié)果需要落地,需要大量的磁盤IO和網(wǎng)絡(luò)IO影響性能

3.雖然MapReduce中間結(jié)果可以存儲于HDFS,利用HDFS緩存功能,但相對Spark緩存功能較低效

4.多進程模型,任務(wù)調(diào)度(頻繁申請、釋放資源)和啟動開銷大,不適合低延遲類型作業(yè)

5.MR編程不夠靈活,僅支持map和reduce兩種操作。當一個計算邏輯復雜的時候,需要寫多個MR任務(wù)運行【并且這些MR任務(wù)生成的結(jié)果在下一個MR任務(wù)使用時需要將數(shù)據(jù)持久化到磁盤才行,這就不可避免的進行遭遇大量磁盤IO影響效率】

雖然Spark相對于MapReduce有很多優(yōu)勢,但并不代表Spark目前可以完全取代MapReduce。

上述內(nèi)容就是怎么進行Spark和MapReduce的對比,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文題目:怎么進行Spark和MapReduce的對比
文章出自:http://jinyejixie.com/article10/poeego.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、網(wǎng)站設(shè)計公司、響應(yīng)式網(wǎng)站、App設(shè)計、品牌網(wǎng)站制作、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
茌平县| 洪雅县| 谢通门县| 沈阳市| 泾源县| 兴化市| 平昌县| 宝鸡市| 油尖旺区| 承德市| 樟树市| 京山县| 海兴县| 乌拉特后旗| 永城市| 瑞金市| 台南县| 沙坪坝区| 福海县| 五指山市| 汶上县| 襄垣县| 璧山县| 南和县| 普安县| 东城区| 桂林市| 阿合奇县| 石渠县| 石景山区| 扬中市| 肇东市| 高州市| 威信县| 新竹市| 探索| 裕民县| 萝北县| 都昌县| 舞阳县| 名山县|