Hadoop從誕生至今已經發展成爲一個大數據相關的龐大的軟件生態系統。這裏收集整理了跟Hadoop相關的Apache下的開源項目,以供後續分析研究。算法
Apache Hadoop數據庫
Hadoop是一個大數據處理框架,它可用於從單臺到數以千計的服務器集羣的存儲和計算服務。HadoopDistributed File System (HDFS) 提供了可以跨越多臺計算機的大數據存儲服務,而MapReduce則提供了一個並行處理的框架。它們的思想源自Google的MapReduce和Google File System(GFS)論文。詳細參見:http://hadoop.apache.org/apache
Apache Ambari服務器
Ambari是一個對Hadoop集羣進行監控和管理的基於Web的系統。目前已經支持HDFS,MapReduce,Hive,HCatalog,HBase,ZooKeeper,Oozie,Pig和Sqoop等組件。詳細參見:http://ambari.apache.org/網絡
Apache Cassandra數據結構
Cassandra是一個分佈式的NoSQL數據庫。它基於multi-master模式,無單點失敗,具備可擴展性。最先由Facebook開發用於存儲收件箱等簡單格式數據,後開源,被用於Twitter等知名網站。詳細參見:http://cassandra.apache.org/架構
Apache Hive框架
Hive是 一個數據倉庫工具,能夠將結構化的數據文件映射爲一張數據庫表,並提供相似SQL同樣的查詢語言HiveQL來管理這些數據。詳細參見:http://hive.apache.org/機器學習
Apache Pig分佈式
Pig是一個基於Hadoop的大數據分析平臺,它提供了一個叫PigLatin的高級語言來表達大數據分析程序。詳細參見:http://pig.apache.org/
Apache Avro
Avro是一個數據序列化系統。它提供了豐富的數據結構類型,快讀可壓縮的二進制數據格式,存儲持久數據的文件容器,遠程過程調用等。詳細參見:http://avro.apache.org/
Apache Chukwa
Chukwa是一個用於監控大型分佈式系統的的數據採集系統。它構建於Hadoop的HDFS和Map/Reduce框架之上,包含了一系列用於數據監控,分析和展現的靈活的強大工具集。它爲日誌系統提供了一整套解決方案。詳細參見:http://chukwa.apache.org/
Apache Drill
Drill是一個對大規模數據集進行交互式分析的分佈式系統。它是Google的Gremel的開源實現。詳細參見:http://incubator.apache.org/drill/
Apache Flume
Flume是一個高可靠的分佈式海量日誌採集,聚合和傳輸系統。它來源於Cloudera開發的日誌收集系統。詳細參見:http://flume.apache.org/
Apache HBase
HBase是一個分佈式的,面向列的數據庫。它基於Hadoop之上提供了相似BigTable的功能。詳細參見:http://hbase.apache.org/
Apache HCatalog
HCatalog是基於Hadoop的數據表和存儲管理服務,提供了更好的數據存儲抽象和元數據服務。詳細參見:https://hive.apache.org/hcatalog/
Apache Mahout
Mahout是一個機器學習領域的經典算法庫,提供包括聚類,分類,推薦過濾,頻繁子項挖掘等。詳細參見:http://mahout.apache.org/
Apache Oozie
Oozie是一個工做流調度系統,用於管理Hadoop裏的job。它能夠把多個Map/Reduce做業組合到一個邏輯工做單元來完成指定目標。詳細參見:http://oozie.apache.org/
Apache Sqoop
Sqoop是一個Hadoop和關係型數據庫之間的數據轉移工具。可將關係型數據庫中的數據導入到Hadoop的HDFS中,也可將HDFS中的數據導進到關係型數據庫中。詳細參見:http://sqoop.apache.org/
Apache ZooKeeper
ZooKeeper是一個針對大型分佈式系統的可靠協調系統,提供包括配置維護,名字服務,分佈式同步和組服務等功能。Hadoop的管理就是用的ZooKeeper。詳細參見:http://zookeeper.apache.org/
Apache Giraph
Giraph是一個高可伸縮的迭代式圖處理系統。它如今用於分析Facebook中的用戶的社交關係。Giraph至關於Google圖處理架構Pregel的開源版本。詳細參見:http://giraph.apache.org/
Apache Accumulo
Accumulo是一個可靠的,可伸縮的,高性能排序分佈式的Key-Value存儲解決方案。它基於Google的BigTable設計思路。詳細參見:http://accumulo.apache.org/
Apache S4
S4是一個可擴展的,分佈式的流數據實時處理框架,最先由Yahoo開發並開源。與Twitter的Storm相似。詳細參見:http://incubator.apache.org/s4/
Apache Thrift
Thrift是一個跨語言的服務開發框架。用它可以讓你的服務支持多種語言的開發,並可用代碼生成器對它所定義的IDL定義文件自動生成服務代碼框架。它最先由Facebook開發並開源出來。 詳細參見:http://thrift.apache.org/
最後,得提一下Apache Nutch開源網絡爬蟲系統。Hadoop最先是爲Nutch服務而誕生的,即爲大規模的網絡爬蟲系統提供分佈式存儲和計算服務。