Hadoop=HDFS+Hive+Pig+...
HDFS: 存儲系統
MapReduce:計算系統
Hive:提供給SQL開發人員(通過HiveQL)的MapReduce,基于Hadoop的資料倉庫架構
Pig:基于Hadoop的語言開發的
HBase:NoSQL資料庫
Flume:一個收集處理Hadoop資料的架構
Oozie:一個讓使用者以多種語言(如MapReduce,Pig和Hive)定義一系列作業的工作流處理系統
Ambari:一個基于web的部署/管理/監控Hadoop叢集的工具集
Avro:允許編碼Hadoop檔案的schema的一種資料序列化系統
Mahout:一個資料挖掘庫,它包含了最流行的一些資料挖據算法,并且以MapReduce模型來實作他們
Sqoop:一個從非Hadoop資料存儲(如關系資料庫和資料倉庫)進來的移動資料到Hadoop中的連接配接工具
HCatalog:一個中心化的中繼資料管理以及Apache Hadoop共享服務,它允許在Hadoop叢集中的所有資料的統一視圖,并允許不同的工具,包括Pig和Hive,處理任何資料元素,而無需知道身體在叢集中的資料存儲。
BigTop:為了創造一個更正式的程式或架構Hadoop的子項目及相關元件的目标提高Hadoop的平台,作為一個整體的包裝和互操作性測試。
Apache Storm:一個分布式實時計算系統,Storm是一個任務并行連續計算引擎。 Storm本身并不典型在Hadoop叢集上運作,它使用Apache ZooKeeper的和自己的主/從工作程序,協調拓撲,主機和工作者狀态,保證資訊的語義。無論如何, Storm必定還是可以從HDFS檔案消費或者從檔案寫入到HDFS。
Apache Spark:一種快速,通用引擎用于大規模資料處理,Spark是一個資料并行通用批量處理引擎。工作流中在一個類似的和懷舊風格的MapReduce中定義,但是,比傳統Hadoop MapReduce的更能幹。Apache Spark有其流API項目,該項目通過短間隔批次允許連續處理。Apache Spark本身并不需要Hadoop操作。但是,它的資料并行模式,需要穩定的資料優化使用共享檔案系統。該穩定源的範圍可以從S3,NFS或更典型地,HDFS。執行Spark應用程式并不需要Hadoop YARN。Spark有自己獨立的主/伺服器程序。然而,這是共同的運作使用YARN容器Spark的應用程式。此外,Spark還可以在Mesos叢集上運作。