讓我們一起走進大數據開源項目--第1節
與此同時,開源社區中也存在很多類似的優秀大數據相關項目,涵蓋了分布式數據存儲與計算,數據處理,數據倉庫,機器學習等與數據有關的方方面面,下面就讓我們看看開源社區中的這些大數據項目典型代表。
首先,說起大數據開源項目,第一個必須要提的當然就是Apache Hadoop下的三個子項目Apache HDFS,Apache MapReduce,Apache YARN,這基本上可以認為是大數據處理的國際標準,是整個大數據生態系統的基石。
分布式存儲
在分布式存儲領域,可以按存儲模型分為文件系統,KV存儲,Columnar存儲,Document存儲,Graph存儲。
分布式文件系統是整個分布式存儲的最底層,鼻祖正是Google大名鼎鼎的GFS。Apache HDFS是GFS的開源版本,應該不用再介紹了。RedHat GlusterFS作為Linux社區老大的產品,也是值得一看的。
KV存儲是最簡單的存儲模型,比較典型的系統包括Amazon DynamoDB, Memcached,Redis,BerkeleyDB, Google LevelDB
Columnar存儲是KV存儲的直接擴展,Value對應Column family或是Column Map。這類系統最基本的是Apache HBase,Google早期三架馬車之一BigTable開源版本,類似的還有ApacheCassandra,Hypertable, Facebook HydraBase。
Document存儲主要有MongoDB, Facebook Apollo等。Graph存儲系統大部分基於Google的Pregel,主要開源實現有:Apache Giraph,Apache Spark Bagel,Phoebus。另外Google也開源了自家的Graph數據庫Cayley。
分布式計算
分布式計算方面,主要體現在各種計算框架,數據處理模型,典型代表有Apache MapReduce,最經典的大數據處理引擎。Apache Spark,目前最火的大數據處理引擎,速度相比MapReduce有數量級的提升,基於Spark也構建了一整套生態系統,SQL,Streaming,Machine Learning,Graph。其他的項目包括Apache Storm,Apache Pig,Apache Tez,Apache S4, OpenMPI等。
分布式任務調度
分布式任務調度與集群管理,這類系統主要實現分布式任務管理,資源調度,集群管理等基礎任務,包括Apache YARN,Apache Aurora,Apache Falcon,Apache Oozie,Linkedin Azkaban,Apache Ambari,Apache Bigtop, Apache Mesos等。
SQL與SQL-like處理,這類系統正是Pivotal開源的主要產品形態,基本上是在分布式系統上搭建SQL查詢引擎,有傳統的MPP SQL數據庫,SQL-on-Hadoop,也有SQL-like類的大數據查詢系統。包括Greenplum DB,Apache Hive, Apache HAWQ,Cloudera Impala,SparkSQL,Apache Phoenix,Apache Drill, SharkSQL,Facebook PrestoDB,CockroachDB等。這類系統現今也越來越多向雲端發展,包括Amazon Redshift,Google BigQuery,Snowflake等,遺憾的是這類雲端產品由於安全性問題大多沒有選擇開源。
分布式服務及數據處理(包括各種日誌處理)
分布式服務及數據處理領域,主要包括數據獲取,日誌處理,消息服務等分布式編程必要的組件。主要有Apache Zookeeper, Apache Flume, Apache Kafka, Apache Sqoop, Cloudera Morphlines, Facebook Scribe, Logstash,Linkedin Gobblin等。
**分布式服務之上服務
在分布式存儲、計算、數據處理以及各類基礎組件之上,各類分布式應用層出不窮,比如機器學習應用相關**的Apache Mahout, Cloudera Oryx, Spark MLlib, MLbase,搜索應用相關的Apache Solr,ElasticSearch,HBase Coprocessor, Facebook Unicorn,應該說有了這些分布式基礎組件的支持,構建新的分布式應用變得方便很多。
本節就到這裏,有興趣的可以看我的下一篇文章。
很多人都知道我有大數據培訓資料,都天真的以為我有全套的大數據開發、hadoop、spark等視
頻學習資料。我想說你們是對的,我的確有大數據開發、hadoop、spark的全套視頻資料。
如果你對大數據開發感興趣可以加口群領取免費學習資料: 763835121
讓我們一起走進大數據開源項目--第1節