HadoopSpark是當(dāng)前兩個流行的大數(shù)據(jù)架構(gòu),也是非常重要的開源技術(shù)。對于HadoopSpark,業(yè)內(nèi)很多專業(yè)人士都進(jìn)行了對比分析。中培偉業(yè)《大數(shù)據(jù)平臺搭建與高性能計算應(yīng)用實戰(zhàn)》培訓(xùn)蔣老師在這里就HadoopSpark兩大架構(gòu)的認(rèn)識發(fā)表了自己的看法。
Hadoop
Apache Hadoop 是受Google 的兩篇Paper( Mapreduce , Google File System )啟發(fā)誕生的。最早在Nutch項目里,2006年移入Hadoop,命名也成為行業(yè)內(nèi)的一段談資。
Hadoop 主要包括兩步分,** Hadoop Distributed File System (HDFS) 和 Hadoop MapReduce**。很 明顯了HDFS解決了存儲,MapReduce 更多情況下是一個編程框架。入門者最開始使用MapReduce 的例子基本都是進(jìn)行詞頻統(tǒng)計。使用Map進(jìn)行分詞,然后Reduce得到詞頻。
那經(jīng)常聽到的Hive,Hbase 是什么? Hive 是建立在Hadoop 之上的數(shù)據(jù)倉庫,可以通過Sql查詢和實現(xiàn)一些MapReduce 操作。 Hbase 是建立在Hadoop之上的一種分布式非關(guān)系型數(shù)據(jù)庫。模型也是產(chǎn)生于Google的一篇research Bigtable: A Distributed Storage System for Structured Data 。用過的Cassandra也是一種Bigtable的實現(xiàn)。
你可能會聽到 Hadoop YARN ,YARN 是作業(yè)管理框架,蔣老師認(rèn)為MapReduce 是建立在YARN上的。
Spark
在Spark 出來之后看到有人說Spark會代替Hadoop 但經(jīng)老師根據(jù)自己的認(rèn)識給出了不同的觀點。蔣老師指出, Spark 的重點在于數(shù)據(jù)的處理和計算能力,它并沒有解決數(shù)據(jù)存儲問題。換句話說它相當(dāng)于Hadoop Mapreduce的升級版。通常Spark都是和Hadoop 一起使用的。因為Spark需要HDFS這樣的存儲系統(tǒng),Spark又比Hadoop Mapreduce 更快,個人感覺Api更豐富,對于機(jī)器學(xué)習(xí)算法來說更友好。 當(dāng)然Spark 可以不需要Hadoop ,Hadoop 也可以不需要Spark. Spark 還提供了Spark Sql, Spark Stream,Spark Mlib, Spark GraphX 一些豐富的功能,而且支持Java, Scala, Python,R等多種語言。