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

Spark和Hadoop的架構(gòu)區(qū)別解讀

2021-02-03    分類: 網(wǎng)站建設(shè)

總的來(lái)說(shuō),Spark采用更先進(jìn)的架構(gòu),使得靈活性、易用性、性能等方面都比Hadoop更有優(yōu)勢(shì),有取代Hadoop的趨勢(shì),但其穩(wěn)定性有待進(jìn)一步提高。我總結(jié),具體表現(xiàn)在如下幾個(gè)方面。

Spark和Hadoop的架構(gòu)區(qū)別解讀

Q:Spark和Hadoop的架構(gòu)區(qū)別

A:

  • Hadoop:MapRedcue由Map和Reduce兩個(gè)階段,并通過(guò)shuffle將兩個(gè)階段連接起來(lái)的。但是套用MapReduce模型解決問(wèn)題,不得不將問(wèn)題分解為若干個(gè)有依賴關(guān)系的子問(wèn)題,每個(gè)子問(wèn)題對(duì)應(yīng)一個(gè)MapReduce作業(yè),最終所有這些作業(yè)形成一個(gè)DAG。
  • Spark:是通用的DAG框架,可以將多個(gè)有依賴關(guān)系的作業(yè)轉(zhuǎn)換為一個(gè)大的DAG。核心思想是將Map和Reduce兩個(gè)操作進(jìn)一步拆分為多個(gè)元操作,這些元操作可以靈活組合,產(chǎn)生新的操作,并經(jīng)過(guò)一些控制程序組裝后形成一個(gè)大的DAG作業(yè)。

Q:Spark和Hadoop的中間計(jì)算結(jié)果處理區(qū)別

A:

  • Hadoop:在DAG中,由于有多個(gè)MapReduce作業(yè)組成,每個(gè)作業(yè)都會(huì)從HDFS上讀取一次數(shù)據(jù)和寫一次數(shù)據(jù)(默認(rèn)寫三份),即使這些MapReduce作業(yè)產(chǎn)生的數(shù)據(jù)是中間數(shù)據(jù)也需要寫HDFS。這種表達(dá)作業(yè)依賴關(guān)系的方式比較低效,會(huì)浪費(fèi)大量不必要的磁盤和網(wǎng)絡(luò)IO,根本原因是作業(yè)之間產(chǎn)生的數(shù)據(jù)不是直接流動(dòng)的,而是借助HDFS作為共享數(shù)據(jù)存儲(chǔ)系統(tǒng)。
  • Spark:在Spark中,使用內(nèi)存(內(nèi)存不夠使用本地磁盤)替代了使用HDFS存儲(chǔ)中間結(jié)果。對(duì)于迭代運(yùn)算效率更高。

Q:Spark和Hadoop的操作模型區(qū)別

A:

  • Hadoop:只提供了Map和Reduce兩種操作所有的作業(yè)都得轉(zhuǎn)換成Map和Reduce的操作。
  • Spark:提供很多種的數(shù)據(jù)集操作類型比如Transformations 包括map, filter, flatMap, sample, groupByKey, reduceByKey, union, join, cogroup, mapValues,sort,partionBy等多種操作類型,還提供actions操作包括Count,collect, reduce, lookup, save等多種。這些多種多樣的數(shù)據(jù)集操作類型,給開發(fā)上層應(yīng)用的用戶提供了方便。

Q:spark中的RDD是什么,有哪些特性?

A:

  • A list of partitions:一個(gè)分區(qū)列表,RDD中的數(shù)據(jù)都存儲(chǔ)在一個(gè)分區(qū)列表中
  • A function for computing each split:作用在每一個(gè)分區(qū)中的函數(shù)
  • A list of dependencies on other RDDs:一個(gè)RDD依賴于其他多個(gè)RDD,這個(gè)點(diǎn)很重要,RDD的容錯(cuò)機(jī)制就是依據(jù)這個(gè)特性而來(lái)的
  • Optionally,a Partitioner for key-value RDDs(eg:to say that the RDD is hash-partitioned):可選的,針對(duì)于kv類型的RDD才有這個(gè)特性,作用是決定了數(shù)據(jù)的來(lái)源以及數(shù)據(jù)處理后的去向
  • 可選項(xiàng),數(shù)據(jù)本地性,數(shù)據(jù)位置最優(yōu)

Q:概述一下spark中的常用算子區(qū)別(map,mapPartitions,foreach,foreachPatition)

A:map:用于遍歷RDD,將函數(shù)應(yīng)用于每一個(gè)元素,返回新的RDD(transformation算子)

foreach:用于遍歷RDD,將函數(shù)應(yīng)用于每一個(gè)元素,無(wú)返回值(action算子)

mapPatitions:用于遍歷操作RDD中的每一個(gè)分區(qū),返回生成一個(gè)新的RDD(transformation算子)

foreachPatition:用于遍歷操作RDD中的每一個(gè)分區(qū),無(wú)返回值(action算子)

總結(jié):一般使用mapPatitions和foreachPatition算子比map和foreach更加高效,推薦使用。

網(wǎng)頁(yè)名稱:Spark和Hadoop的架構(gòu)區(qū)別解讀
分享URL:http://jinyejixie.com/news/98896.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站改版、營(yíng)銷型網(wǎng)站建設(shè)、外貿(mào)建站外貿(mào)網(wǎng)站建設(shè)

廣告

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

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
舒兰市| 潮安县| 连江县| 建宁县| 玉树县| 颍上县| 平顶山市| 布尔津县| 文成县| 蛟河市| 玛曲县| 潮州市| 合肥市| 扎赉特旗| 长兴县| 长兴县| 德化县| 内丘县| 虞城县| 宁安市| 广南县| 太谷县| 冷水江市| 浦东新区| 丹东市| 微山县| 宜君县| 泽州县| 舞钢市| 思南县| 吉木萨尔县| 宽城| 固阳县| 浦城县| 理塘县| 米泉市| 静宁县| 噶尔县| 榆中县| 漾濞| 金阳县|