本篇文章為大家展示了如何解析Spark和MapReduce任務(wù)計算模型,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
成都創(chuàng)新互聯(lián)自2013年創(chuàng)立以來,先為察雅等服務(wù)建站,察雅等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為察雅企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
對于多進程,我們可以很容易控制它們能夠使用的資源,并且一個進程的失敗一般不會影響其他進程的正常運行,但是進程的啟動和銷毀會占用很多時間,同時該進程申請的資源在進程銷毀時也會釋放,這就造成了對資源的頻繁申請和釋放也是很影響性能的,這也是MapReduce廣為詬病的原因之一。
對于MapReduce處理任務(wù)模型,有如下特點:
3.可以通過JVM重用在一定程度上緩解MapReduce讓每個task動態(tài)申請資源且運行完后馬上釋放資源帶來的性能開銷
但是JVM重用并不是多個task可以并行運行在一個JVM進程中,而是對于同一個job,一個JVM上最多可以順序執(zhí)行的task數(shù)目,這個需要配置參數(shù)mapred.job.reuse.jvm.num.tasks,默認1。
對于多線程模型的Spark正好與MapReduce相反,這也決定了Spark比較適合運行低延遲的任務(wù)。在Spark中處于同一節(jié)點上的task以多線程的方式運行在一個executor進程中,構(gòu)建了一個可重用的資源池,有如下特點:
但是多線程模型有一個缺陷:同一節(jié)點的一個executor中多個task很容易出現(xiàn)資源征用。畢竟資源分配最細粒度是按照executor級別的,無法對運行在executor中的task做細粒度控制。這也導致在運行一些超大數(shù)據(jù)量的任務(wù)并且資源比較有限時,運行不太穩(wěn)定。相比較而言,MapReduce更有利于這種大任務(wù)的平穩(wěn)運行。
上述內(nèi)容就是如何解析Spark和MapReduce任務(wù)計算模型,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享文章:如何解析Spark和MapReduce任務(wù)計算模型
分享網(wǎng)址:http://sd-ha.com/article20/ggicjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、云服務(wù)器、軟件開發(fā)、企業(yè)建站、面包屑導航、域名注冊
聲明:本網(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)