欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spark簡介以及與Hadoop對比分析

 更新時間:2021年08月30日 16:34:48   作者:MusicDancing  
這篇文章主要對Spark作了詳細(xì)的簡介,包含spark的生態(tài)系統(tǒng)、基本感念、架構(gòu)設(shè)計、部署應(yīng)用,以及與Hadoop作了對比,分析其優(yōu)劣特點,有需要的朋友可以參考下

1. Spark 與 Hadoop 比較

1.1 Haoop 的缺點

  • 1. 表達能力有限;
  • 2. 磁盤IO開銷大;
  • 3. 延遲高;
  • 4. 任務(wù)之間的銜接涉及IO開銷;
  • 5. 在前一個任務(wù)執(zhí)行完之前,其他任務(wù)就無法開始,難以勝任復(fù)雜、多階段的計算任務(wù)。

1.2 相較于Hadoop MR的優(yōu)點

  • 1. Spark的計算模式也屬于MR,但不局限于Map和Reduce操作,它還提供了多種數(shù)據(jù)集操作類型,編程模式也比Hadoop MR更靈活;
  • 2. Spark提供了內(nèi)存計算,可將中間結(jié)果放到內(nèi)存中,對于迭代運算效率更高;
  • 3. Spark 基于DAG的任務(wù)調(diào)度執(zhí)行機制,要優(yōu)于Hadoop MR的迭代執(zhí)行機制。
Spark MapReduce
數(shù)據(jù)存儲結(jié)構(gòu) 使用內(nèi)存構(gòu)建彈性分布式數(shù)據(jù)集RDD,對數(shù)據(jù)進行運算和cache。 磁盤HDFS文件系統(tǒng)的split
編程范式 DAG(Transformation+Action) Map+Reduce
計算中間結(jié)果的存儲 在內(nèi)存中維護,存取速度比磁盤高幾個數(shù)量級 落到磁盤,IO及序列化、反序列化代價大
Task維護方式 線程 進程
時間 對于小數(shù)據(jù)集讀取能夠達到亞秒級的延遲 需要數(shù)秒時間才能啟動任務(wù)

2. Spark 生態(tài)系統(tǒng)

2.1 大數(shù)據(jù)處理的三種類型

1. 復(fù)雜的批量數(shù)據(jù)處理

時間跨度在數(shù)十分鐘到數(shù)小時

Haoop MapReduce

2. 基于歷史數(shù)據(jù)的交互式查詢

時間跨度在數(shù)十秒到數(shù)分鐘

Cloudera、Impala 這兩者實時性均優(yōu)于hive。

3. 基于實時數(shù)據(jù)流的數(shù)據(jù)處理

時間跨度在數(shù)百毫秒到數(shù)秒

Storm

2.2 BDAS架構(gòu)

2.3 Spark 生態(tài)系統(tǒng)

3. 基本概念與架構(gòu)設(shè)計

3.1 基本概念

3.2 運行架構(gòu)

Spark采用Executor的優(yōu)點:(相比于Hadoop的MR)

  • 1. 利用多線程來執(zhí)行具體的任務(wù),減少任務(wù)的啟動開銷;
  • 2. Executor中有一個BlockManager存儲模塊,會將內(nèi)存和磁盤共同作為存儲設(shè)備,有效減少IO開銷。

3.3 各種概念之間的相互關(guān)系

  • 一個Application由一個Driver和若干個Job構(gòu)成
  • 一個Job由多個Stage構(gòu)成
  • 一個Stage由多個沒有shuffle關(guān)系的Task組成

當(dāng)執(zhí)行一個Application時,Driver會向集群管理器申請資源,啟動Executor,

并向Executor發(fā)送應(yīng)用程序代碼和文件,然后在Executor上執(zhí)行Task,運行結(jié)束后,

執(zhí)行結(jié)果會返回給Driver,或者寫到HDFS或者其他數(shù)據(jù)庫中。

4. Spark運行基本流程

4.1 運行流程

1. 為應(yīng)用構(gòu)建起基本的運行環(huán)境,即由Driver創(chuàng)建一個SparkContext進行資源的申請、任務(wù)的分配和監(jiān)控。

2. 資源管理器為Executor分配資源,并啟動Executor進程。

  • 3.1 SparkContext根據(jù)RDD的依賴關(guān)系構(gòu)建DAG圖,DAG圖提交給DAGScheduler解析成Stage,然后把一個個TaskSet提交給底層調(diào)度器TaskScheduler處理。
  • 3.2 Executor向SparkContext申請Task,TaskScheduler將Task發(fā)送給Executor運行并提供應(yīng)用程序代碼。

4. Task在Executor上運行把執(zhí)行結(jié)果反饋給TaskScheduler,然后反饋給DAGScheduler,運行完畢后寫入數(shù)據(jù)并釋放所有資源。

4.2 運行架構(gòu)特點

1. 每個Application都有自己專屬的Executor進程,并且該進程在Application運行期間一直駐留。Executor進程以多線程的方式運行Task。

2. Spark運行過程與資源管理器無關(guān),只要能夠獲取Executor進程并保持通信即可。

3. Task采用了數(shù)據(jù)本地性和推測執(zhí)行等優(yōu)化機制。(計算向數(shù)據(jù)靠攏。)

5. Spark的部署和應(yīng)用方式

5.1 Spark的三種部署方式

5.1.1 Standalone

類似于MR1.0,slot為資源分配單位,但性能并不好。

5.1.2 Spark on Mesos

Mesos和Spark有一定的親緣關(guān)系。

5.1.3 Spark on YARN

mesos和yarn的聯(lián)系

5.2 從Hadoop+Storm架構(gòu)轉(zhuǎn)向Spark架構(gòu)

Hadoop+Storm架構(gòu)

這種部署方式較為繁瑣。

用Spark架構(gòu)滿足批處理和流處理需求

Spark用快速的小批量計算模擬流計算,并非真實的流計算。

無法實現(xiàn)毫秒級的流計算,對于需要毫秒級實時響應(yīng)的企業(yè)應(yīng)用而言,仍需采用流計算框架Storm等。

Spark架構(gòu)的優(yōu)點:

  • 1. 實現(xiàn)一鍵式安裝和配置,線程級別的任務(wù)監(jiān)控和告警;
  • 2. 降低硬件集群、軟件維護、任務(wù)監(jiān)控和應(yīng)用開發(fā)的難度;
  • 3. 便于做成統(tǒng)一的硬件、計算平臺資源池。

5.3 Hadoop和Spark的統(tǒng)一部署

不同計算框架統(tǒng)一運行在YARN中

好處如下:

  • 1. 計算資源按需伸縮;
  • 2. 不用負(fù)載應(yīng)用混搭,集群利用率高;
  • 3. 共享底層存儲,避免數(shù)據(jù)跨集群遷移

現(xiàn)狀:

1. Spark目前還是無法取代Hadoop生態(tài)系統(tǒng)中的一些組件所實現(xiàn)的功能。

2. 現(xiàn)有的Hadoop組件開發(fā)的應(yīng)用,完全遷移到Spark上需要一定的成本。

到此這篇關(guān)于Spark簡介以及與Hadoop對比分析的文章就介紹到這了,更多相關(guān)Spark與Hadoop內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • hadoop動態(tài)增加和刪除節(jié)點方法介紹

    hadoop動態(tài)增加和刪除節(jié)點方法介紹

    這篇文章主要介紹了hadoop動態(tài)增加和刪除節(jié)點方法介紹,小編覺得挺不錯的,這里分享給大家,需要的朋友可以參考。
    2017-10-10
  • Hadoop編程基于MR程序?qū)崿F(xiàn)倒排索引示例

    Hadoop編程基于MR程序?qū)崿F(xiàn)倒排索引示例

    最近正在學(xué)習(xí)Hadoop的知識,一步步來,這里先給大家分享一篇關(guān)于Hadoop編程基于MR程序?qū)崿F(xiàn)倒排索引的文章,還是不錯的,供需要的朋友參考。
    2017-10-10
  • 淺談七種常見的Hadoop和Spark項目案例

    淺談七種常見的Hadoop和Spark項目案例

    這篇文章主要介紹了淺談七種常見的Hadoop和Spark項目案例,小編覺得挺不錯的,這里分享給大家,需要的朋友可以了解下。
    2017-10-10
  • 搭建Consul服務(wù)發(fā)現(xiàn)與服務(wù)網(wǎng)格

    搭建Consul服務(wù)發(fā)現(xiàn)與服務(wù)網(wǎng)格

    這篇文章介紹了搭建Consul服務(wù)發(fā)現(xiàn)與服務(wù)網(wǎng)格的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • linux系統(tǒng)安裝hadoop真分布式集群詳解

    linux系統(tǒng)安裝hadoop真分布式集群詳解

    這篇文章主要介紹了linux系統(tǒng)安裝hadoop真分布式集群詳解,需要的朋友可以參考下
    2022-04-04
  • Consul的HTTP?API和使用方法

    Consul的HTTP?API和使用方法

    這篇文章介紹了Consul的HTTP?API和使用方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Hadoop對文本文件的快速全局排序?qū)崿F(xiàn)方法及分析

    Hadoop對文本文件的快速全局排序?qū)崿F(xiàn)方法及分析

    這篇文章主要介紹了Hadoop對文本文件的快速全局排序?qū)崿F(xiàn)方法及分析,小編覺得挺不錯的,這里分享給大家,供需要的朋友參考。
    2017-10-10
  • Spark簡介以及與Hadoop對比分析

    Spark簡介以及與Hadoop對比分析

    這篇文章主要對Spark作了詳細(xì)的簡介,包含spark的生態(tài)系統(tǒng)、基本感念、架構(gòu)設(shè)計、部署應(yīng)用,以及與Hadoop作了對比,分析其優(yōu)劣特點,有需要的朋友可以參考下
    2021-08-08

最新評論