1. 程式人生 > >spark比mapreduce快的一個原因

spark比mapreduce快的一個原因

接觸spark時間不長,但是有些概念還是沒有太校準,於是回顧了一下spark的文件。讀到shuffle操作那塊發現spark的shuffle操作後的reduce也是儲存到檔案然後從檔案中讀取。以前一直以為spark快是因為這部分操作是在記憶體中執行,也就是reduce操作從記憶體中讀取shufflemaptask的結果。看來以後學知識還是要紮實一點,慢一點沒有關係。

上面指出了,spark也是從檔案中讀取shuffle結果,那快速的原因在哪裡呢?

  1. rdd快取,rdd計算是可以設定快取的
  2. map快取,map的結果也是會被快取的,以便以後利用。 (以上這兩點是官網找到的)
  3. 對shuffle操作的優化,生成的中間檔案減少了,那麼磁碟io就會減少。
  4. 由於mapreduce會對資料進行排序,所以reduce操作必須等到檔案全部生成並進行排序之後才可以進行。spark不是這種自動排序,因此可以生成一點,重新整理ShuffleMapTask緩衝區到檔案中,然後直接進行reduce

相關推薦

百度面試總結:sparkMapReduce原因是什麼?(比較完整)

1、spark是基於記憶體進行資料處理的,MapReduce是基於磁碟進行資料處理的 MapReduce的設設計:中間結果儲存在檔案中,提高了可靠性,減少了記憶體佔用。但是犧牲了效能。 Spark的設計:資料在記憶體中進行交換,要快一些,但是記憶體這個東西,可靠性不如磁碟。所以效能方面比MapR

sparkMapReduce原因是什麼?(比較完整)

1、spark是基於記憶體進行資料處理的,MapReduce是基於磁碟進行資料處理的 MapReduce的設設計:中間結果儲存在檔案中,提高了可靠性,減少了記憶體佔用。但是犧牲了效能。 Spark的設計:資料在記憶體中進行交換,要快一些,但是記憶體這個東西,可靠性不如磁碟。所以效能方面比Ma

spark部分:spark的四種執行模式,Spark MapReduce 原因spark執行程式流程,spark運算元種類,spark持久化運算元,cache 和 persist,調節引數的方式

Spark 有 4 中執行模式: 1. local 模式,適用於測試 2. standalone,並非是單節點,而是使用 spark 自帶的資源排程框架 3. yarn,最流行的方式,使用 yarn 叢集排程資源 4. mesos,國外使用的多 Spark 比 M

sparkmapreduce一個原因

接觸spark時間不長,但是有些概念還是沒有太校準,於是回顧了一下spark的文件。讀到shuffle操作那塊發現spark的shuffle操作後的reduce也是儲存到檔案然後從檔案中讀取。以前一直以為spark快是因為這部分操作是在記憶體中執行,也就是red

總結SparkHadoop原因

1. 消除了冗餘的HDFS讀寫 Hadoop的每次shuffle都必須寫到磁碟中,而Spark的shuffle不一定寫到磁碟中,而是可以快取到記憶體中,以便後續的其他迭代操作時直接使用。這樣一來,如果任務複雜,需要很多次的shuffle才能完成,那麼Hadoo

sparkhadoop原因

(1)spark大量使用記憶體 (2)核心資料結構:RDD(彈性分散式資料集),在此基礎上提供了許多計算函式, (3)在原先hadoop下一個map或reduce實現的功能,在spark下可以拆分成多個job.如果把hadoop看做罐子裡的大石頭,那麼spark的jo

BufferedInputStream InputStream原因(java)

InputStream:每次從硬碟讀入一個字到中轉站, 再寫入目的檔案(硬碟) BufferStream:一次讀入n個位元組到輸入換成區,接著經中轉站一個個寫入到輸出緩衝區,輸入緩衝區為空時再次從硬碟讀入批量資料,同理輸出緩衝區滿了以後再批量寫入到目的檔案(硬碟)。 如此

nginxapache原因

先總的說幾個概念: 1:在高併發的情況下nginx比apache快,低併發體現不明顯 2:快的原因得益於nginx的epoll模型 apache是多執行緒或者多程序,在工作的時候,當來了一個http響應,一個程序接收(listen)–>識別處理—&g

SparkMR是因為在記憶體中計算?錯!

MapReduce 就像一臺又慢又穩的老爺車,雖然距離 MapReduce 面市到現在已經過去了十幾年的時間,但它始終沒有被淘汰,任由大資料技術日新月異、蓬蓬勃勃、花裡胡哨地發展,這個生態圈始終有它的一席之地。 不過 Spark 的到來確實給了 MapReduce 不小的衝擊,它比 MapReduce 理論上

spark是什麼?sparkMapReduce的區別?spark為什麼hive速度

spark是什麼? spark是針對於大規模資料處理的統一分析引擎,通俗點說就是基於記憶體計算的框架 spark和hive的區別? 1.spark的job輸出結果可儲存在記憶體中,而MapReduce的job輸出結果只能儲存在磁碟中,io讀取速度要比記憶體中慢; 2.

curl的速度為什麼file_get_contents以及具體原因

一、背景       大家做專案的時候,不免會看到前輩的程式碼。博主最近看到前輩有的時候請求外部介面用的是file_get_contents,有的用的是curl。稍微瞭解這兩部分的同學都知道,curl在效能上和速度上是優於f

12306!用Python寫一個火車票檢視器~

當你準備出去玩,想查詢一下火車票資訊的時候,還在用12306官網嗎?下面我們用 Python 寫一個命令列版的火車票檢視器, 只要在命令列敲一行命令就能獲得你想要的火車票資訊! 一、實驗簡介 1.1 知識點 Python3 基礎知識的綜合運用 docopt、requests 及 prett

一個 webpack 10倍的打包工具

作為奇舞團的一個小小程式媛,每天都在不斷地接受新知識,PostCSS剛學完,PostHTML又出來了。剛研究明白Rollup的配置,又有一個橫空出世的打包工具——Parceljs。我本來是拒絕的,畢竟在這個充滿誘惑的年代,我要維持自己內心的純潔,但當我開啟Parcel的官網,

Spark在任何情況下均MapReduce高效嗎?

答案是否定的。 當做一個簡單的資料轉換,且只需要Map操作時,mapreduce的處理效率要比Spark高,因為Spark預處理和啟動的成本比較高 Mapreduce因為存在時間長,所以對多種場景都有優化,而Spark高效的處理場景相對較少。 Spark資

號稱最android虛擬機器的genymotion安裝出現virtualization engine not found plugin loading aborted另外一個原因

今天在折騰android開發時,無意間看到有 人提到這個虛擬器; 之前瞭解過其它虛擬器,比如x86,或是其它的,都不是很滿意,也就懶得折騰; 本的i3cpu又在使用android的虛擬器時,太慢了.一直在使用物理機測試; 所以,一看廣告這麼說,也很方便,又能跟eclipse

python出現UnicodeEncodeError有可能產生的另一個原因

erro inux encode fault roo install 出現 div wrap 在使用python中,我們都有可能遇到如下的錯誤: UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in po

【 js 基礎 】為什麽 call apply

如果 分享 叠代 [1] get blank 3.4 -a case 這是一個非常有意思的問題。 在看源碼的過程中,總會遇到這樣的寫法: 1 var triggerEvents = function(events, args) { 2 var ev, i

關於apidoc文檔生成不了的一個原因

文檔 msg font get ont 找不到 原創 app resp 前幾天在寫完API後,寫註釋文檔,然後很習慣的去用apidoc取生成註釋文檔,但是奇怪的事發生了,沒有註釋的內容,也沒有報錯;註釋代碼如下: /* * @api {get} /applet/:id 根據

荷蘭研究人員提突破性想法:用紅外線傳輸網絡_WiFi100倍

速度 光纖 不同 顯示 cli 很快 紅外 十倍 網絡 原文地址 這年頭咱們去餐館吃飯、商場購物,最喜歡的就是蹭個免費Wi-Fi,省流量不說,速度也是杠杠的沒得噴(當然也有因同時連接人數過多速度卡成狗的,但和免費相比這些都可以忍受了吧)。 在光纖入戶,獨享10M、20M、3

已經一個月了。python小有進展。現在研究scrapy項目。

callback color first allow font one don llb tar 剛剛研究學習了一個新的技能,覺得自己水平又升了一級。就是跨頁面item 抓取的問題。以前一直不明白。代碼如下! item申明如下: import scrapy class