本篇文章為大家展示了怎么進行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的局限性?"
首先,大多數(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本身也有緩存功能,官方的對比極有可能在運行邏輯回歸時沒有很好配置該緩存功能,否則性能差距也不至于這么大。
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間可共享資源
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影響效率】
上述內(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)