|
討論大數(shù)據(jù)的時候,你可能會聽到提及Hadoop 和 Apache Spark的話題,這里有一些簡單的知識,你需要了解他們之間的不同。
1.他們做的事情不同 Hadoop 和 Apache Spark都是大數(shù)據(jù)框架中用到的東西,但是他們并不是服務于同樣的目的。 Hadoop是本質上是一個分布式數(shù)據(jù)基礎架構,他能夠幫你利用商用服務器搭建一個集群,這意味著你不需要購買昂貴的專用硬件就能搭建橫跨多個節(jié)點的海量數(shù)據(jù)集。他還能夠跟蹤索引這些數(shù)據(jù),更有力的幫你實現(xiàn)大數(shù)據(jù)的處理和分析。 Spark是一種數(shù)據(jù)處理工具,運行在這些分布式數(shù)據(jù)急群眾,他不是用來做分布式存儲的。 2.你們可以單獨的使用任何一個 Hadoop被稱為分布式文件系統(tǒng),他不僅包含存儲組件,同時還有MapReduce處理元件,所以你在處理數(shù)據(jù)的時候并不一定需要Spark。當然,你也可以使用Spark。 Spark并不是只能在Hadoop中運行,他還可以運行在基于云的數(shù)據(jù)平臺。盡管創(chuàng)建 Spark 是為了支持分布式數(shù)據(jù)集上的迭代作業(yè),但是實際上它是對 Hadoop 的補充,可以在 Hadoop 文件系統(tǒng)中并行運行。 第2頁:Spark更快 3.Spark更快 由于數(shù)據(jù)處理方式,Spark要比MapReduce快很多。 Spark 是一種與 MapReduce相似的開源集群計算環(huán)境,但是兩者之間還存在一些不同之處,這些有用的不同之處使 Spark 在某些工作負載方面表現(xiàn)得更加優(yōu)越,換句話說,Spark 啟用了內(nèi)存分布數(shù)據(jù)集,除了能夠提供交互式查詢外,它還可以優(yōu)化迭代工作負載。
4:你可能不需要MapReduce的速度。 如果你的數(shù)據(jù)操作和報告大多數(shù)情況下是靜態(tài)的,那么你可能并不需要MapReduce,你只需要等待批處理模式處理器就可以了。 但是如果,你需要從傳感器上做分析的數(shù)據(jù)。就想一個工廠,或者需要從多個操作應用程序中分析數(shù)據(jù),那么你可能需要的Spark,Spark常見的應用包括實時的營銷活動,網(wǎng)上促銷的產(chǎn)品,網(wǎng)絡安全分析和機器日志監(jiān)控。 5:故障恢復: 它們是不同的,Hadoop是彈性系統(tǒng)的錯誤或故障,因為每次恢復操作后的數(shù)據(jù)被寫入磁盤。 但Spark具有類似于內(nèi)置內(nèi)存的分析,這些數(shù)據(jù)對象可以存儲在內(nèi)存或磁盤。 |
|
|