回覆列表
  • 1 # 機械之名

    1)hadoop簡介

    Hadoop是一個由Apache基金會所開發的分散式系統基礎架構。 Hadoop實現了一個分散式檔案系統HDFS。HDFS有高容錯性的特點,並且設計用來部署在低廉的硬體上;而且它提供高吞吐量來訪問應用程式的資料,適合那些有著超大資料集的應用程式。Hadoop的框架最核心的設計就是:HDFS和MapReduce。HDFS為海量的資料提供了儲存,而MapReduce則為海量的資料提供了計算

    2)hadoop優點

    Hadoop 以一種可靠、高效、可伸縮的方式進行資料處理。

    可靠性: Hadoop將資料儲存在多個備份,Hadoop提供高吞吐量來訪問應用程式的資料。

    高擴充套件性: Hadoop是在可用的計算機集簇間分配資料並完成計算任務的,這些集簇可以方便地擴充套件到數以千計的節點中。

    高效性: Hadoop以並行的方式工作,通過並行處理加快處理速度。

    高容錯性: Hadoop能夠自動儲存資料的多個副本,並且能夠自動將失敗的任務重新分配。

    低成本: Hadoop能夠部署在低廉的(low-cost)硬體上。

    1)spark簡介

    Spark 是專為大規模資料處理而設計的快速通用的計算引擎。Spark擁有Hadoop MapReduce所具有的優點,Spark在Job中間輸出結果可以儲存在記憶體中,從而不再需要讀寫HDFS,因此Spark效能以及運算速度高於MapReduce。

    2)spark優點

    計算速度快: 因為spark從磁碟中讀取資料,把中間資料放到記憶體中,,完成所有必須的分析處理,將結果寫回叢集,所以spark更快。

    Spark 提供了大量的庫: 包括Spark Core、Spark SQL、Spark Streaming、MLlib、GraphX。

    支援多種資源管理器: Spark 支援 Hadoop YARN,及其自帶的獨立叢集管理器

    操作簡單: 高階 API 剝離了對叢集本身的關注,Spark 應用開發者可以專注於應用所要做的計算本身

    1)應用場景不同

    Hadoop和Spark兩者都是大資料框架,但是各自應用場景是不同的。Hadoop是一個分散式資料儲存架構,它將巨大的資料集分派到一個由普通計算機組成的叢集中的多個節點進行儲存,降低了硬體的成本。Spark是那麼一個專門用來對那些分散式儲存的大資料進行處理的工具,它要藉助hdfs的資料儲存。

    2)處理速度不同

    hadoop的MapReduce是分步對資料進行處理的,從磁碟中讀取資料,進行一次處理,將結果寫到磁碟,然後在從磁碟中讀取更新後的資料,再次進行的處理,最後再將結果存入磁碟,這存取磁碟的過程會影響處理速度。spark從磁碟中讀取資料,把中間資料放到記憶體中,,完成所有必須的分析處理,將結果寫回叢集,所以spark更快。

    3)容錯性不同

    Hadoop將每次處理後的資料都寫入到磁碟上,基本談不上斷電或者出錯資料丟失的情況。Spark的資料物件儲存在彈性分散式資料集 RDD,RDD是分佈在一組節點中的只讀物件集合,如果資料集一部分丟失,則可以根據於資料衍生過程對它們進行重建。而且RDD 計算時可以通過 CheckPoint 來實現容錯。

    Hadoop提供分散式資料儲存功能HDFS,還提供了用於資料處理的MapReduce。 MapReduce是可以不依靠spark資料的處理的。當然spark也可以不依靠HDFS進行運作,它可以依靠其它的分散式檔案系統。但是兩者完全可以結合在一起,hadoop提供分散式 叢集和分散式 檔案系統,spark可以依附在hadoop的HDFS代替MapReduce彌補MapReduce計算能力不足的問題。

    總結一句話:spark在hadoop肩膀上可以讓大資料跑的更快

  • 中秋節和大豐收的關聯?
  • 量子能穿透黑洞嗎?