Spark精华问答 | Spark和Hadoop的架构区别解读
總的來說,Spark采用更先進的架構,使得靈活性、易用性、性能等方面都比Hadoop更有優勢,有取代Hadoop的趨勢,但其穩定性有待進一步提高。我總結,具體表現在如下幾個方面。
1
Q:Spark和Hadoop的架構區別
A:Hadoop:MapRedcue由Map和Reduce兩個階段,并通過shuffle將兩個階段連接起來的。但是套用MapReduce模型解決問題,不得不將問題分解為若干個有依賴關系的子問題,每個子問題對應一個MapReduce作業,最終所有這些作業形成一個DAG。
Spark:是通用的DAG框架,可以將多個有依賴關系的作業轉換為一個大的DAG。核心思想是將Map和Reduce兩個操作進一步拆分為多個元操作,這些元操作可以靈活組合,產生新的操作,并經過一些控制程序組裝后形成一個大的DAG作業。
Q:Spark和Hadoop的中間計算結果處理區別
A:Hadoop:在DAG中,由于有多個MapReduce作業組成,每個作業都會從HDFS上讀取一次數據和寫一次數據(默認寫三份),即使這些MapReduce作業產生的數據是中間數據也需要寫HDFS。這種表達作業依賴關系的方式比較低效,會浪費大量不必要的磁盤和網絡IO,根本原因是作業之間產生的數據不是直接流動的,而是借助HDFS作為共享數據存儲系統。
Spark:在Spark中,使用內存(內存不夠使用本地磁盤)替代了使用HDFS存儲中間結果。對于迭代運算效率更高。
3Q:Spark和Hadoop的操作模型區別
A:Hadoop:只提供了Map和Reduce兩種操作所有的作業都得轉換成Map和Reduce的操作。
Spark:提供很多種的數據集操作類型比如Transformations 包括map, filter, flatMap, sample, groupByKey, reduceByKey, union, join, cogroup, mapValues,sort,partionBy等多種操作類型,還提供actions操作包括Count,collect, reduce, lookup, save等多種。這些多種多樣的數據集操作類型,給開發上層應用的用戶提供了方便。
Q:spark中的RDD是什么,有哪些特性?
A:1.A list of partitions:一個分區列表,RDD中的數據都存儲在一個分區列表中
2.A function for computing each split:作用在每一個分區中的函數
3.A list of dependencies on other RDDs:一個RDD依賴于其他多個RDD,這個點很重要,RDD的容錯機制就是依據這個特性而來的
4.Optionally,a Partitioner for key-value RDDs(eg:to say that the RDD is hash-partitioned):可選的,針對于kv類型的RDD才有這個特性,作用是決定了數據的來源以及數據處理后的去向
5.可選項,數據本地性,數據位置最優
5
Q:概述一下spark中的常用算子區別(map,mapPartitions,foreach,foreachPatition)
A:map:用于遍歷RDD,將函數應用于每一個元素,返回新的RDD(transformation算子)
foreach:用于遍歷RDD,將函數應用于每一個元素,無返回值(action算子)
mapPatitions:用于遍歷操作RDD中的每一個分區,返回生成一個新的RDD(transformation算子)
foreachPatition:用于遍歷操作RDD中的每一個分區,無返回值(action算子)
總結:一般使用mapPatitions和foreachPatition算子比map和foreach更加高效,推薦使用
小伙伴們沖鴨,后臺留言區等著你!
關于Spark,今天你學到了什么?還有哪些不懂的?除此還對哪些話題感興趣?快來留言區打卡啦!留言方式:打開第XX天,答:……
同時歡迎大家搜集更多問題,投稿給我們!風里雨里留言區里等你~
福利
1、掃描添加小編微信,備注“姓名+公司職位”,加入【云計算學習交流群】,和志同道合的朋友們共同打卡學習!
推薦閱讀:
一場全能的開發者大會,來自助力開發者成功進階的華為云
抖音微博等短視頻千萬級高可用、高并發架構如何設計?
20大5G關鍵技術
Fast.ai:從零開始學深度學習 | 資源帖
10個簡單小竅門帶你提高Python數據分析速度(附代碼)
程序員爬取 3 萬條評論,《長安十二時辰》槽點大揭秘!
暗網竟成比特幣最大用戶? 上半年5.15億美元被用于非法活動
真香,朕在看了!
總結
以上是生活随笔為你收集整理的Spark精华问答 | Spark和Hadoop的架构区别解读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 科勒马桶怎么样 科勒马桶的优缺点和使用体
- 下一篇: 中央空调出风口怎么清理