在使用BigData大約8年以上以後,我遇到了大量的項目。 Esp Apache的運動對於BigData域很是強大。每一個人都會提出一個針對特定解決方案的項目。可是,因爲有這麼多項目出現,我找不到一個能夠查看它們的地方。因此,這就是這個頁面背後的靈感。一站式,查看全部Apache BigData項目。固然,這個頁面須要不斷更新。若是您發現任何項目缺失,請發表評論算法
我贊成一個大的列表(43個以上的項目),但這就是可以進行BigData處理的項目的範圍。此外,可能有多個項目符合您的要求。關鍵是要肯定哪些最適合您的要求與給定的硬件。shell
注意:若是您遇到一些Apache BigData項目但未在此處說起的項目,請發表評論。我將檢查並將它們添加到此列表中。數據庫
1 Apache AiravataApache Airavata是一個框架,支持在基於網格的系統,遠程集羣和基於雲的系統中執行和管理計算科學應用程序和工做流。 Airavata的主要重點是在基於網格的系統中提交和管理應用程序和工做流程。 Airavata的架構也可擴展,以支持其餘底層資源。傳統的科學應用程序爲用戶提供了一個門戶,能夠提交和管理被稱爲科學網關的科學應用程序。 Airavata能夠被科學網關開發人員用做他們的中間件層。他們能夠直接調用airavata API,以便與基於網格的系統進行通訊。編程
2 Apache Airflow(Incubating)Airflow是一個以編程方式創做,安排和監控工做流程的平臺。數組
使用氣流將工做流做爲任務的有向非循環圖(DAG)。氣流調度程序在遵循指定的依賴關係的同時在一組工做程序上執行您的任務。瀏覽器
3 Apache AmbariApache Ambari是一個用於配置,管理和監控Apache Hadoop集羣的工具。 Ambari包含一組RESTful API和基於瀏覽器的管理界面。緩存
4 Apache ApexApache Apex是一個用於大數據流和批處理的統一平臺。用例包括攝取,ETL,實時分析,警報和實時操做。 Apex是Hadoop本地YARN實現,默認使用HDFS。它經過縮短上市時間簡化了Hadoop應用程序的開發和產品化。主要功能包括具備容錯的企業級可操做性,狀態管理,事件處理保證,無數據丟失,內存中性能和可伸縮性以及本機窗口支持。安全
5 Apache AvroApache Avro™是一種數據序列化系統。網絡
Avro提供:數據結構
豐富的數據結構。
緊湊,快速的二進制數據格式。
容器文件,用於存儲持久數據。
遠程過程調用(RPC)。
與動態語言的簡單集成。不須要代碼生成來讀取或寫入數據文件,也不須要使用或實現RPC協議。代碼生成做爲可選優化,僅值得爲靜態類型語言實現。
6 Apache Arrow爲列式內存分析提供支持。它是一種新格式,能夠在BigData生態系統中以統一的方式使用。利用最新的硬件(如SIMD)以及軟件(柱狀)加強功能,並在整個生態系統中提供統一的標準
7 Apache BeamApache Beam是一種用於批處理和流數據處理的統一編程模型,能夠跨多種分佈式執行引擎高效執行,並提供可擴展點,以鏈接到不一樣的技術和用戶社區。
8 Apache BigtopBigtop是一個用於開發Apache Hadoop生態系統的打包和測試的項目。 Bigtop的主要目標是圍繞Hadoop相關項目的打包和互操做性測試構建社區。這包括在社區開發的各個級別(包裝,平臺,運行時,升級等)進行測試,重點是整個系統,而不是單個項目。簡而言之,咱們努力爲Hadoop提供Debian對Linux的支持。
9 Apache BookKeeperBookKeeper是一種可靠的複製日誌服務。它可用於將任何獨立服務轉換爲高可用性複製服務。 BookKeeper具備高可用性(無單點故障),而且隨着更多存儲節點的添加而水平擴展。
10 Apache CalciteCalcite是一個用於編寫數據管理系統的框架。它使用可插入的查詢轉換規則將在關係代數中表示的查詢轉換爲高效的可執行形式。有一個可選的SQL解析器和JDBC驅動程序。 Calcite不存儲數據或具備首選執行引擎。數據格式,執行算法,規劃規則,運算符類型,元數據和成本模型在運行時做爲插件添加。
11 Apache ChukwaChukwa是一個用於監控大型分佈式系統的開源數據收集系統。 Chukwa構建於Hadoop分佈式文件系統(HDFS)和Map / Reduce框架之上,並繼承了Hadoop的可擴展性和健壯性。 Chukwa還包括一個靈活而強大的工具包,用於顯示,監控和分析結果,以充分利用收集的數據。
12 Apache CouchDBApache CouchDB是一個徹底包含Web的數據庫。使用JSON文檔存儲數據。使用Web瀏覽器經過HTTP訪問您的文檔。使用JavaScript查詢,組合和轉換文檔。 Apache CouchDB適用於現代Web和移動應用程序。您甚至能夠直接從Apache CouchDB中提供Web應用程序。您可使用Apache CouchDB的增量複製有效地分發您的數據或應用程序。 Apache CouchDB支持具備自動衝突檢測的主 - 主設置。
13 Apache CrunchApache Crunch Java庫提供了一個用於編寫,測試和運行MapReduce管道的框架。它的目標是使由許多用戶定義函數組成的流水線易於編寫,易於測試和高效運行。
Apache Crunch™庫運行在Hadoop MapReduce和Apache Spark之上,是一個簡單的Java API,用於加入和數據聚合等在平面MapReduce上實現繁瑣的任務。在處理不適合關係模型的數據時,API尤爲有用,例如時間序列,序列化對象格式(如協議緩衝區或Avro記錄)以及HBase行和列。對於Scala用戶,有Scrunch API,它基於Java API構建,幷包含用於建立MapReduce管道的REPL(讀取 - 評估 - 打印循環)。
14 Apache DataFu(孵化)Apache DataFu由兩個庫組成:Apache DataFu Pig是Apache Pig中用於數據分析的有用的用戶定義函數的集合。
Apache DataFu Hourglass是一個使用Apache Hadoop MapReduce逐步處理數據的庫。該庫的靈感來自於對平常跟蹤數據的滑動窗口計算的預測。諸如這些的計算一般以規則的間隔(例如,天天,每週)發生,所以計算的滑動性質意味着大部分工做被沒必要要地重複。建立DataFu的沙漏是爲了使這些計算更有效,有時能夠減小50-95%的計算資源。
15 Apache DirectMemory(在Attic中)Apache DirectMemory是Java虛擬機的堆外緩存
16 Apache DrillApache Drill是一個分佈式MPP查詢層,支持針對NoSQL和Hadoop數據存儲系統的SQL和替代查詢語言。它的靈感部分來自谷歌的Dremel。
17 Apache Edgent(孵化)Apache Edgent是一種編程模型和微內核樣式運行時,可嵌入網關和小型邊緣設備中,實現對來自設備,車輛,系統的連續數據流的本地實時分析,各類器具,設備和傳感器(例如,覆盆子Pis或智能手機)。 Apache Edgent與集中分析系統配合使用,可在整個物聯網生態系統中提供高效,及時的分析:從中心到邊緣。
18 Apache FalconApache Falcon是Hadoop的數據處理和管理解決方案,專爲數據移動,數據管道協調,生命週期管理和數據發現而設計。 Falcon使最終消費者可以在Hadoop集羣上快速加載其數據及其相關的處理和管理任務。
19 Apache FlinkFlink是一個用於表達,聲明,快速和高效數據分析的開源系統。它將分佈式MapReduce類平臺的可擴展性和編程靈活性與並行數據庫中的效率,核外執行和查詢優化功能相結合。
20 Apache FlumeApache Flume是一個分佈式,可靠且可用的系統,用於有效地從許多不一樣的源收集,聚合和移動大量日誌數據到集中式數據存儲
21 Apache GiraphApache Giraph是一個爲高可擴展性而構建的迭代圖形處理系統。例如,它目前在Facebook上用於分析用戶及其鏈接造成的社交圖。
22 Apache HadoopApache™Hadoop®項目開發了用於可靠,可擴展的分佈式計算的開源軟件。
23 Apache HamaApache Hama是一種高效且可擴展的通用BSP計算引擎,可用於加速各類計算密集型分析應用程序。
24 Apache HAWQApache HAWQ是一個Hadoop本機SQL查詢引擎,它結合了MPP數據庫的關鍵技術優點和Hadoop的可擴展性和便利性。
25 Apache HelixApache Helix是一個通用的集羣管理框架,用於自動管理節點集羣上託管的分區,複製和分佈式資源。 Helix在面對節點故障和恢復,集羣擴展和從新配置時自動從新分配資源。
26 Apache IgniteApache Ignite內存數據結構旨在爲從高性能計算到業界最早進的數據網格,內存中SQL,內存文件系統的各類內存計算用例提供無與倫比的性能,流式傳輸等。
27 Apache Kafka單個Kafka代理能夠處理來自數千個客戶端的每秒數百兆字節的讀寫操做。 Kafka旨在容許單個羣集充當大型組織的中央數據主幹。它能夠彈性和透明地擴展,無需停機。數據流被分區並分佈在一組機器上,以容許數據流大於任何一臺機器的能力,並容許協調的消費者羣集。 Kafka採用現代以集羣爲中心的設計,提供強大的耐用性和容錯保證。消息將保留在磁盤上並在羣集中進行復制,以防止數據丟失。每一個代理均可以處理數TB的消息,而不會影響性能。
28 Apache KnoxApache Knox Gateway是一個REST API網關,用於與Hadoop集羣進行交互。
Knox Gateway爲全部與Hadoop集羣的REST交互提供單一訪問點。
在這種能力下,諾克斯網關可以提供有價值的功能來幫助控制,
集成,監控和自動化企業的關鍵管理和分析需求。
身份驗證(LDAP和Active Directory身份驗證提供程序)聯合/ SSO(基於HTTP標頭的身份聯合)受權(服務級別受權)審覈雖然不安全的Hadoop羣集有許多好處,
Knox Gateway也很好地補充了kerberos安全集羣。
加上Kerberos安全Hadoop集羣的正確網絡隔離,
Knox Gateway爲企業提供如下解決方案:
與企業身份管理解決方案完美集成保護Hadoop集羣部署的詳細信息(主機和端口對最終用戶隱藏)簡化客戶端與之交互所需的服務數量
29 Apache KuduKudu提供快速插入/更新和高效柱狀掃描的組合,可在單個存儲層上實現多個實時分析工做負載。
30 Apache LensLens提供統一分析界面。 Lens旨在經過提供跨多個分層數據存儲的單一數據視圖和分析查詢的最佳執行環境來削減數據分析孤島。它將Hadoop與傳統數據倉庫無縫集成,看起來就像一個。
31 Apache MetaModel使用MetaModel,您能夠得到許多很是不一樣的數據存儲類型的統一鏈接器和查詢API,包括:關係(JDBC)數據庫,CSV文件,Excel電子表格,XML文件,JSON文件,固定寬度文件,MongoDB,Apache CouchDB,Apache HBase,Apache Cassandra,ElasticSearch,OpenOffice.org數據庫,Salesforce.com,SugarCRM甚至普通舊Java對象(POJO)的集合。
MetaModel不是數據映射框架。相反,它強調元數據的抽象和在運行時添加數據源的能力,使MetaModel很是適用於通用數據處理應用程序,對於圍繞特定域建模的應用程序則更少。
32 Apache MetronApache Metron提供可擴展的高級安全分析框架,該框架使用從Cisco OpenSOC項目演變而來的Hadoop社區構建。一種網絡安全應用程序框架,使組織可以檢測網絡異常並使組織可以快速響應已識別的異常狀況。
33 Apache OozieOozie是一個用於管理Apache Hadoop做業的工做流程調度程序系統。 Oozie與Hadoop堆棧的其他部分集成,支持多種類型的Hadoop做業(例如Java map-reduce,Streaming map-reduce,Pig,Hive,Sqoop和Distcp)以及系統特定的工做(例如Java程序和shell腳本)。
34 Apache ORCORC是一種自描述類型感知的列式文件格式,專爲Hadoop工做負載而設計。它針對大型流式讀取進行了優化,但具備快速查找所需行的集成支持。以列式格式存儲數據使讀者只能讀取,解壓縮和處理當前查詢所需的值。
35 Apache ParquetApache Parquet是一種通用的列式存儲格式,專爲Hadoop而構建,可與任何數據處理框架,數據模型或編程語言一塊兒使用。
36 Apache PhoenixApache Phoenix經過提供利用Apache HBase做爲其後備存儲的關係數據庫層,爲Apache Hadoop提供OLTP和運營分析。它包括與Apache Spark,Pig,Flume,Map Reduce以及Hadoop生態系統中的其餘產品的集成。它做爲JDBC驅動程序訪問,並容許經過標準SQL查詢,更新和管理HBase表。
37 Apache REEFApache REEF(可保留評估程序執行框架)是一個開發框架,它提供了一個控制平面,用於調度和協調從資源管理器獲取的集羣資源的任務級(數據平面)工做。 REEF提供了促進數據緩存資源重用的機制,以及狀態管理抽象,極大地簡化了支持Resource Manager服務的雲平臺上彈性數據處理工做流的開發。
38 Apache SamzaApache Samza提供了一個系統,用於處理來自Apache Kafka等發佈 - 訂閱系統的流數據。開發人員編寫流處理任務,並將其做爲Samza做業執行。而後,Samza在流處理任務和消息所針對的發佈 - 訂閱系統之間路由消息。
39 Apache SparkApache Spark是一種用於大規模數據處理的快速通用引擎。它提供Java,Scala和Python中的高級API以及豐富的庫,包括流處理,機器學習和圖形分析。
40 Apache SqoopApache Sqoop(TM)是一種工具,用於在Apache Hadoop和結構化數據存儲(如關係數據庫)之間高效傳輸批量數據。
41 Apache StormApache Storm是一個分佈式實時計算系統。相似於Hadoop如何提供一組用於進行批處理的通用基元,Storm提供了一組用於進行實時計算的通用基元。
42 Apache TajoApache Tajo項目的主要目標是在Hadoop中構建一個高級開源數據倉庫系統,用於處理Web規模的數據集。基本上,Tajo提供SQL標準做爲查詢語言。 Tajo專爲存儲在HDFS和其餘數據源上的數據集進行交互式和批量查詢而設計。在不損害查詢響應時間的狀況下,Tajo提供了容錯和動態負載平衡,這是長時間運行查詢所必需的。 Tajo採用基於成本的漸進式查詢優化技術來從新優化運行查詢,以免最糟糕的查詢計劃。
43 Apache TezApache Tez致力於開發通用應用程序框架,該框架可用於處理數據處理任務的任意複雜的有向無環圖(DAG),以及可用於可重用的一組數據處理原語。經過其餘項目。它目前在Apache Hadoop YARN上面構建。
44 Apache VXQueryApache VXQuery將是一個用Java實現的符合標準的XML查詢處理器。重點是評估對大量XML數據的查詢。具體而言,目標是評估大型相對較小的XML文檔集合上的查詢。爲了實現此目的,將在無共享機器的集羣上評估查詢。
45 Apache ZeppelinZeppelin是一個基於Web的現代工具,供數據科學家在大規模數據探索和可視化項目上進行協做。