hadoop,hive,spark區別

本文出處算法

       blog.csdn.net/forward__/a…sql

       blog.csdn.net/ibeifeng8/a…數據庫

       blog.csdn.net/luanpeng825…安全

正文網絡

1. hadoop與spark的聯繫與區別框架

      解決問題的層面不同機器學習

               首先,HadoopApache Spark二者都是大數據框架,可是各自存在的目的不盡相             同。Hadoop實質上更可能是一個分佈式數據基礎設施: 它將巨大的數據集分派到一個由               普通計算機組成的集羣中的多個節點進行存儲,意味着您不須要購買和維護昂貴的服務             器硬件。同時,Hadoop還會索引和跟蹤這些數據,讓大數據處理和分析效率達到前所            未有的高度。分佈式

              Spark則是那麼一個專門用來對那些分佈式存儲的大數據進行處理的工具,它並不               會進行分佈式數據的存儲。 工具

      二者可合可分 oop

              Hadoop除了提供爲你們所共識的HDFS分佈式數據存儲功能以外,還提供了叫作                MapReduce的數據處理功能。因此這裏咱們徹底能夠拋開Spark,使用Hadoop自身              的MapReduce來完成數據的處理。 相反,Spark也不是非要依附在Hadoop身上才能            生存。但如上所述,畢竟它沒有提供文件管理系統,因此,它必須和其餘的分佈式文件            系統進行集成才能運做。這裏咱們能夠選擇HadoopHDFS,也能夠選擇其餘的基於雲            的數據系統平臺。但Spark默認來講仍是被用在Hadoop上面的,畢竟,你們都認爲它            們的結合是最好的。 

          如下是從網上摘錄的對MapReduce的最簡潔明瞭的解析:

              咱們要數圖書館中的全部書。你數1號書架,我數2號書架。這就是「 Map」。咱們人越            多,數書就更快。

             如今咱們到一塊兒,把全部人的統計數加在一塊兒。這就是「Reduce」。

     Spark數據處理速度秒殺MapReduce

             Spark由於其處理數據的方式不同,會比MapReduce快上不少。MapReduce是             分步對數據進行處理的: 」從集羣中讀取數據,進行一次處理,將結果寫到集羣,從集羣             中讀取更新後的數據,進行下一次的處理,將結果寫到集羣,等等…「 Booz Allen                     Hamilton的數據科學家Kirk Borne如此解析。  

             反觀Spark,它會在內存中以接近「實時」的時間完成全部的數據分析:「從集羣中讀取             數據,完成全部必須的分析處理,將結果寫回集羣,完成,」 Born說道。Spark的批處             理速度比MapReduce快近10倍,內存中的數據分析速度則快近100倍。 

             若是須要處理的數據和結果需求大部分狀況下是靜態的,且你也有耐心等待批處理的             完成的話,MapReduce的處理方式也是徹底能夠接受的。 

             但若是你須要對流數據進行分析,好比那些來自於工廠的傳感器收集回來的數據,又             或者說你的應用是須要多重數據處理的,那麼你也許更應該使用Spark進行處理。 

             大部分機器學習算法都是須要多重數據處理的。此外,一般會用到Spark的應用場景             有如下方面:實時的市場活動,在線產品推薦,網絡安全分析,機器日記監控等。 

    災難恢復  

             二者的災難恢復方式迥異,可是都很不錯。由於Hadoop將每次處理後的數據都寫入             到磁盤上,因此其天生就能頗有彈性的對系統錯誤進行處理。 

             Spark的數據對象存儲在分佈於數據集羣中的叫作彈性分佈式數據集(RDD: Resilient             Distributed Dataset)中。「這些數據對象既能夠放在內存,也能夠放在磁盤,因此                 RDD一樣也能夠提供完成的災難恢復功能,」Borne指出。

2. Hivehive是基於Hadoop的一個數據倉庫工具能夠將結構化的數據文件(或者非結構化的數據)映射爲一張數據庫表,並提供簡單的sql查詢功能,能夠將sql語句轉換爲MapReduce任務進行運行。 其優勢是學習成本低,能夠經過類SQL語句快速實現簡單的MapReduce統計,沒必要開發專門的MapReduce應用,十分適合數據倉庫的統計分析。 使用Hive,就不用去寫MapReduce,而是寫sql語句就好了。

正文結束.

相關文章
相關標籤/搜索