hadoop和大數據:60款頂級開源工具

說到處理大數據的工具,普通的開源解決方案(尤其是Apache Hadoop)堪稱中流砥柱。弗雷斯特調研公司的分析師Mike Gualtieri最近預測,在接下來幾年,“100%的大公司”會採用Hadoop。Market Research的一份報告預測,到2018年,Hadoop市場會以58%的年複合增長率(CAGR)高速增長;到2020年,市場產值會超過10億美元。IBM更是非常看好開源大數據工具,派出了3500名研究人員開發Apache Spark,這個工具是Hadoop生態系統的一部分。

這回我們推出了最新的頂級開源大數據工具排行榜。這個領域最近方興未艾,許多新項目紛紛啟動。許多最知名的項目由Apache基金會管理,與Hadoop密切相關。

請注意:本文不是要搞什麼排名;相反,項目按類別加以介紹。與往常一樣,要是你知道另外的開源大數據及/或Hadoop工具應該榜上有名,歡迎留言交流

hadoop和大數據:60款頂級開源工具

一、Hadoop相關工具

1. Hadoop

Apache的Hadoop項目已幾乎與大數據劃上了等號。它不斷壯大起來,已成為一個完整的生態系統,眾多開源工具面向高度擴展的分佈式計算。

支持的操作系統:Windows、Linux和OS X。

相關鏈接: http://hadoop.apache.org

2. Ambari

作為Hadoop生態系統的一部分,這個Apache項目提供了基於Web的直觀界面,可用於配置、管理和監控Hadoop集群。有些開發人員想把Ambari的功能整合到自己的應用程序當中,Ambari也為他們提供了充分利用REST(代表性狀態傳輸協議)的API。

支持的操作系統:Windows、Linux和OS X。

相關鏈接: http://ambari.apache.org

3. Avro

這個Apache項目提供了數據序列化系統,擁有豐富的數據結構和緊湊格式。模式用JSON來定義,它很容易與動態語言整合起來。

支持的操作系統:與操作系統無關。

相關鏈接: http://avro.apache.org

4. Cascading

Cascading是一款基於Hadoop的應用程序開發平臺。提供商業支持和培訓服務。

支持的操作系統:與操作系統無關。

相關鏈接: http://www.cascading.org/projects/cascading/

5. Chukwa

Chukwa基於Hadoop,可以收集來自大型分佈式系統的數據,用於監控。它還含有用於分析和顯示數據的工具。

支持的操作系統:Linux和OS X。

相關鏈接: http://chukwa.apache.org

6. Flume

Flume可以從其他應用程序收集日誌數據,然後將這些數據送入到Hadoop。官方網站聲稱:“它功能強大、具有容錯性,還擁有可以調整優化的可靠性機制和許多故障切換及恢復機制。”

支持的操作系統:Linux和OS X。

相關鏈接: https://cwiki.apache.org/confluence/display/FLUME/Home

7. HBase

HBase是為有數十億行和數百萬列的超大表設計的,這是一種分佈式數據庫,可以對大數據進行隨機性的實時讀取/寫入訪問。它有點類似谷歌的Bigtable,不過基於Hadoop和Hadoop分佈式文件系統(HDFS)而建。

支持的操作系統:與操作系統無關。

相關鏈接: http://hbase.apache.org

8. Hadoop分佈式文件系統(HDFS)

HDFS是面向Hadoop的文件系統,不過它也可以用作一種獨立的分佈式文件系統。它基於Java,具有容錯性、高度擴展性和高度配置性。

支持的操作系統:Windows、Linux和OS X。

相關鏈接: https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html

9. Hive

Apache Hive是面向Hadoop生態系統的數據倉庫。它讓用戶可以使用HiveQL查詢和管理大數據,這是一種類似SQL的語言。

支持的操作系統:與操作系統無關。

相關鏈接: http://hive.apache.org

10. Hivemall

Hivemall結合了面向Hive的多種機器學習算法。它包括諸多高度擴展性算法,可用於數據分類、遞歸、推薦、k最近鄰、異常檢測和特徵哈希。

支持的操作系統:與操作系統無關。

相關鏈接: https://github.com/myui/hivemall

11. Mahout

據官方網站聲稱,Mahout項目的目的是“為迅速構建可擴展、高性能的機器學習應用程序打造一個環境。”它包括用於在Hadoop MapReduce上進行數據挖掘的眾多算法,還包括一些面向Scala和Spark環境的新穎算法。

支持的操作系統:與操作系統無關。

相關鏈接: http://mahout.apache.org

12. MapReduce

作為Hadoop一個不可或缺的部分,MapReduce這種編程模型為處理大型分佈式數據集提供了一種方法。它最初是由谷歌開發的,但現在也被本文介紹的另外幾個大數據工具所使用,包括CouchDB、MongoDB和Riak。

支持的操作系統:與操作系統無關。

相關鏈接: http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html

13. Oozie

這種工作流程調度工具是為了管理Hadoop任務而專門設計的。它能夠按照時間或按照數據可用情況觸發任務,並與MapReduce、Pig、Hive、Sqoop及其他許多相關工具整合起來。

支持的操作系統:Linux和OS X。

相關鏈接: http://oozie.apache.org

14. Pig

Apache Pig是一種面向分佈式大數據分析的平臺。它依賴一種名為Pig Latin的編程語言,擁有簡化的並行編程、優化和可擴展性等優點。

支持的操作系統:與操作系統無關。

相關鏈接: http://pig.apache.org

15. Sqoop

企業經常需要在關係數據庫與Hadoop之間傳輸數據,而Sqoop就是能完成這項任務的一款工具。它可以將數據導入到Hive或HBase,並從Hadoop導出到關係數據庫管理系統(RDBMS)。

支持的操作系統:與操作系統無關。

相關鏈接: http://sqoop.apache.org

16. Spark

作為MapReduce之外的一種選擇,Spark是一種數據處理引擎。它聲稱,用在內存中時,其速度比MapReduce最多快100倍;用在磁盤上時,其速度比MapReduce最多快10倍。它可以與Hadoop和Apache Mesos一起使用,也可以獨立使用。

支持的操作系統:Windows、Linux和OS X。

相關鏈接: http://spark.apache.org

17. Tez

Tez建立在Apache Hadoop YARN的基礎上,這是“一種應用程序框架,允許為任務構建一種複雜的有向無環圖,以便處理數據。”它讓Hive和Pig可以簡化複雜的任務,而這些任務原本需要多個步驟才能完成。

支持的操作系統:Windows、Linux和OS X。

相關鏈接: http://tez.apache.org

18. Zookeeper

這種大數據管理工具自稱是“一項集中式服務,可用於維護配置信息、命名、提供分佈式同步以及提供群組服務。”它讓Hadoop集群裡面的節點可以彼此協調。

支持的操作系統:Linux、Windows(只適合開發環境)和OS X(只適合開發環境)。

相關鏈接: http://zookeeper.apache.org

二、大數據分析平臺和工具

19. Disco

Disco最初由諾基亞開發,這是一種分佈式計算框架,與Hadoop一樣,它也基於MapReduce。它包括一種分佈式文件系統以及支持數十億個鍵和值的數據庫。

支持的操作系統:Linux和OS X。

相關鏈接: http://discoproject.org

20. HPCC

作為Hadoop之外的一種選擇,HPCC這種大數據平臺承諾速度非常快,擴展性超強。除了免費社區版外,HPCC Systems還提供收費的企業版、收費模塊、培訓、諮詢及其他服務。

支持的操作系統:Linux。

相關鏈接: http://hpccsystems.com

21. Lumify

Lumify歸Altamira科技公司(以國家安全技術而聞名)所有,這是一種開源大數據整合、分析和可視化平臺。你只要在Try.Lumify.io試一下演示版,就能看看它的實際效果。

支持的操作系統:Linux。

相關鏈接: http://www.jboss.org/infinispan.html

22. Pandas

Pandas項目包括基於Python編程語言的數據結構和數據分析工具。它讓企業組織可以將Python用作R之外的一種選擇,用於大數據分析項目。

支持的操作系統:Windows、Linux和OS X。

相關鏈接: http://pandas.pydata.org

23. Storm

Storm現在是一個Apache項目,它提供了實時處理大數據的功能(不像Hadoop只提供批任務處理)。其用戶包括推特、美國天氣頻道、WebMD、阿里巴巴、Yelp、雅虎日本、Spotify、Group、Flipboard及其他許多公司。

支持的操作系統:Linux。

相關鏈接: https://storm.apache.org

三、數據庫/數據倉庫

24. Blazegraph

Blazegraph之前名為“Bigdata”,這是一種高度擴展、高性能的數據庫。它既有使用開源許可證的版本,也有使用商業許可證的版本。

支持的操作系統:與操作系統無關。

相關鏈接: http://www.systap.com/bigdata

25. Cassandra

這種NoSQL數據庫最初由Facebook開發,現已被1500多家企業組織使用,包括蘋果、歐洲原子核研究組織(CERN)、康卡斯特、電子港灣、GitHub、GoDaddy、Hulu、Instagram、Intuit、Netfilx、Reddit及其他機構。它能支持超大規模集群;比如說,蘋果部署的Cassandra系統就包括75000多個節點,擁有的數據量超過10 PB。

支持的操作系統:與操作系統無關。

相關鏈接: http://cassandra.apache.org

26. CouchDB

CouchDB號稱是“一款完全擁抱互聯網的數據庫”,它將數據存儲在JSON文檔中,這種文檔可以通過Web瀏覽器來查詢,並且用JavaScript來處理。它易於使用,在分佈式上網絡上具有高可用性和高擴展性。

支持的操作系統:Windows、Linux、OS X和安卓。

相關鏈接: http://couchdb.apache.org

27. FlockDB

由推特開發的FlockDB是一種非常快、擴展性非常好的圖形數據庫,擅長存儲社交網絡數據。雖然它仍可用於下載,但是這個項目的開源版已有一段時間沒有更新了。

支持的操作系統:與操作系統無關。

相關鏈接: https://github.com/twitter/flockdb

28. Hibari

這個基於Erlang的項目自稱是“一種分佈式有序鍵值存儲系統,保證擁有很強的一致性”。它最初是由Gemini Mobile Technologies開發的,現在已被歐洲和亞洲的幾家電信運營商所使用。

支持的操作系統:與操作系統無關。

相關鏈接: http://hibari.github.io/hibari-doc/

29. Hypertable

Hypertable是一種與Hadoop兼容的大數據數據庫,承諾性能超高,其用戶包括電子港灣、百度、高朋、Yelp及另外許多互聯網公司。提供商業支持服務。

支持的操作系統:Linux和OS X。

相關鏈接: http://hypertable.org

30. Impala

Cloudera聲稱,基於SQL的Impala數據庫是“面向Apache Hadoop的領先的開源分析數據庫”。它可以作為一款獨立產品來下載,又是Cloudera的商業大數據產品的一部分。

支持的操作系統:Linux和OS X。

相關鏈接: http://www.cloudera.com/content/cloudera/en/products-and-services/cdh/impala.html

31. InfoBright社區版

InfoBright為數據分析而設計,這是一種面向列的數據庫,具有很高的壓縮比。InfoBright.com提供基於同一代碼的收費產品,提供支持服務。

支持的操作系統:Windows和Linux。

相關鏈接: http://www.infobright.org

32. MongoDB

mongoDB的下載量已超過1000萬人次,這是一種極其受歡迎的NoSQL數據庫。MongoDB.com上提供了企業版、支持、培訓及相關產品和服務。

支持的操作系統:Windows、Linux、OS X和Solaris。

相關鏈接: http://www.mongodb.org

33. Neo4j

Neo4j自稱是“速度最快、擴展性最佳的原生圖形數據庫”,它承諾具有大規模擴展性、快速的密碼查詢性能和經過改進的開發效率。用戶包括電子港灣、必能寶(Pitney Bowes)、沃爾瑪、德國漢莎航空公司和CrunchBase。

支持的操作系統:Windows和Linux。

相關鏈接: http://neo4j.org

34. OrientDB

這款多模型數據庫結合了圖形數據庫的一些功能和文檔數據庫的一些功能。提供收費支持、培訓和諮詢等服務。

支持的操作系統:與操作系統無關。

相關鏈接: http://www.orientdb.org/index.htm

35. Pivotal Greenplum Database

Pivotal聲稱,Greenplum是“同類中最佳的企業級分析數據庫”,能夠非常快速地對龐大的海量數據進行功能強大的分析。它是Pivotal大數據庫套件的一部分。

支持的操作系統:Windows、Linux和OS X。

相關鏈接: http://pivotal.io/big-data/pivotal-greenplum-database

36. Riak

Riak“功能完備”,有兩個版本:KV是分佈式NoSQL數據庫,S2提供了面向雲環境的對象存儲。它既有開源版,也有商業版,還有支持Spark、Redis和Solr的附件。

支持的操作系統:Linux和OS X。

相關鏈接: http://basho.com/riak-0-10-is-full-of-great-stuff/

37. Redis

Redis現在由Pivotal贊助,這是一種鍵值緩存和存儲系統。提供收費支持。要注意:雖然該項目並不正式支持Windows,不過微軟在GitHub上有一個Windows派生版。

支持的操作系統:Linux。

相關鏈接: http://redis.io

四、商業智能

38. Talend Open Studio

Talend的下載量已超過200萬人次,其開源軟件提供了數據整合功能。該公司還開發收費的大數據、雲、數據整合、應用程序整合和主數據管理等工具。其用戶包括美國國際集團(AIG)、康卡斯特、電子港灣、通用電氣、三星、Ticketmaster和韋裡遜等企業組織。

支持的操作系統:Windows、Linux和OS X。

相關鏈接: http://www.talend.com/index.php

39. Jaspersoft

Jaspersoft提供了靈活、可嵌入的商業智能工具,用戶包括眾多企業組織:高朋、冠群科技、美國農業部、愛立信、時代華納有線電視、奧林匹克鋼鐵、內斯拉斯加大學和通用動力公司。除了開源社區版外,它還提供收費的報表版、亞馬遜網絡服務(AWS)版、專業版和企業版。

支持的操作系統:與操作系統無關。

相關鏈接: http://www.jaspersoft.com

40. Pentaho

Pentaho歸日立數據系統公司所有,它提供了一系列數據整合和業務分析工具。官方網站上提供了三個社區版;訪問Pentaho.com,即可瞭解收費支持版方面的信息。

支持的操作系統:Windows、Linux和OS X。

相關鏈接: http://community.pentaho.com

41. SpagoBI

Spago被市場分析師們稱為“開源領袖”,它提供商業智能、中間件和質量保證軟件,另外還提供Java EE應用程序開發框架。該軟件百分之分免費、開源,不過也提供收費的支持、諮詢、培訓及其他服務。

支持的操作系統:與操作系統無關。

相關鏈接: http://www.spagoworld.org/xwiki/bin/view/SpagoWorld/

42. KNIME

KNIME的全稱是“康斯坦茨信息挖掘工具”(Konstanz Information Miner),這是一種開源分析和報表平臺。提供了幾個商業和開源擴展件,以增強其功能。

支持的操作系統:Windows、Linux和OS X。

相關鏈接: http://www.knime.org

43. BIRT

BIRT的全稱是“商業智能和報表工具”。它提供的一種平臺可用於製作可以嵌入到應用程序和網站中的可視化元素及報表。它是Eclipse社區的一部分,得到了Actuate、IBM和Innovent Solutions的支持。

支持的操作系統:與操作系統無關。

相關鏈接: http://www.eclipse.org/birt/

五、數據挖掘

44.DataMelt

作為jHepWork的後續者,DataMelt可以處理數學運算、數據挖掘、統計分析和數據可視化等任務。它支持Java及相關的編程語言,包括Jython、Groovy、JRuby和Beanshell。

支持的操作系統:與操作系統無關。

相關鏈接: http://jwork.org/dmelt/

45. KEEL

KEEL的全稱是“基於進化學習的知識提取”,這是一種基於Java的機器學習工具,為一系列大數據任務提供了算法。它還有助於評估算法在處理遞歸、分類、集群、模式挖掘及類似任務時的效果。

支持的操作系統:與操作系統無關。

相關鏈接: http://keel.es

46. Orange

Orange認為數據挖掘應該是“碩果累累、妙趣橫生”,無論你是有多年的豐富經驗,還是剛開始接觸這個領域。它提供了可視化編程和Python腳本工具,可用於數據可視化和分析。

支持的操作系統:Windows、Linux和OS X。

相關鏈接: http://orange.biolab.si

47. RapidMiner

RapidMiner聲稱擁有250000多個用戶,包括貝寶、德勤、電子港灣、思科和大眾。它提供一系列廣泛的開源版和收費版,不過要注意:免費的開源版只支持CSV格式或Excel格式的數據。

支持的操作系統:與操作系統無關。

相關鏈接: https://rapidminer.com

48. Rattle

Rattle的全稱是“易學易用的R分析工具”。它為R編程語言提供了一種圖形化界面,簡化了這些過程:構建數據的統計或可視化摘要、構建模型以及執行數據轉換。

支持的操作系統:Windows、Linux和OS X。

相關鏈接: http://rattle.togaware.com

49. SPMF

SPMF現在包括93種算法,可用於順序模式挖掘、關聯規則挖掘、項集挖掘、順序規則挖掘和集群。它可以獨立使用,也可以整合到其他基於Java的程序中。

支持的操作系統:與操作系統無關。

相關鏈接: http://www.philippe-fournier-viger.com/spmf/

50. Weka

懷卡託知識分析環境(Weka)是一組基於Java的機器學習算法,面向數據挖掘。它可以執行數據預處理、分類、遞歸、集群、關聯規則和可視化。

支持的操作系統:Windows、Linux和OS X。

相關鏈接: http://www.cs.waikato.ac.nz/~ml/weka/

六、查詢引擎

51. Drill

這個Apache項目讓用戶可以使用基於SQL的查詢,查詢Hadoop、NoSQL數據庫和雲存儲服務。它可用於數據挖掘和即席查詢,它支持一系列廣泛的數據庫,包括HBase、MongoDB、MapR-DB、HDFS、MapR-FS、亞馬遜S3、Azure Blob Storage、谷歌雲存儲和Swift。

支持的操作系統:Windows、Linux和OS X。

相關鏈接: http://drill.apache.org

七、編程語言

52. R

R類似S語言和環境,旨在處理統計計算和圖形。它包括一套整合的大數據工具,可用於數據處理、計算和可視化。

支持的操作系統:Windows、Linux和OS X。

相關鏈接: http://www.r-project.org

53. ECL

企業控制語言(ECL)是開發人員用來在HPCC平臺上構建大數據應用程序的語言。HPCC Systems官方網站上有集成開發環境(IDE)、教程以及處理該語言的眾多相關工具。

支持的操作系統:Linux。

相關鏈接: http://hpccsystems.com/download/docs/ecl-language-reference

八、大數據搜索

54. Lucene

基於Java的Lucene可以非常迅速地執行全文搜索。據官方網站聲稱,它在現代硬件上每小時能夠檢索超過150GB的數據,它含有強大而高效的搜索算法。開發工作得到了Apache軟件基金會的贊助。

支持的操作系統:與操作系統無關。

相關鏈接: http://lucene.apache.org/core/

55. Solr

Solr基於Apache Lucene,是一種高度可靠、高度擴展的企業搜索平臺。知名用戶包括eHarmony、西爾斯、StubHub、Zappos、百思買、AT&T、Instagram、Netflix、彭博社和Travelocity。

支持的操作系統:與操作系統無關。

相關鏈接: http://lucene.apache.org/solr/

九、內存中技術

56. Ignite

這個Apache項目自稱是“一種高性能、整合式、分佈式的內存中平臺,可用於對大規模數據集執行實時計算和處理,速度比傳統的基於磁盤的技術或閃存技術高出好幾個數量級。”該平臺包括數據網格、計算網格、服務網格、流媒體、Hadoop加速、高級集群、文件系統、消息傳遞、事件和數據結構等功能。

支持的操作系統:與操作系統無關。

相關鏈接: https://ignite.incubator.apache.org

57. Terracotta

Terracotta聲稱其BigMemory技術是“世界上數一數二的內存中數據管理平臺”,聲稱擁有210萬開發人員,250家企業組織部署了其軟件。該公司還提供商業版軟件,另外提供支持、諮詢和培訓等服務。

支持的操作系統:與操作系統無關。

相關鏈接: http://www.terracotta.org

58. Pivotal GemFire/Geode

今年早些時候,Pivotal宣佈它將開放其大數據套件關鍵組件的源代碼,其中包括GemFire內存中NoSQL數據庫。它已向Apache軟件基金會遞交了一項提案,以便在“Geode”的名下管理GemFire數據庫的核心引擎。還提供該軟件的商業版。

支持的操作系統:Windows和Linux。

相關鏈接: http://pivotal.io/big-data/pivotal-gemfire

59. GridGain

由Apache Ignite驅動的GridGrain提供內存中數據結構,用於迅速處理大數據,還提供基於同一技術的Hadoop加速器。它既有收費的企業版,也有免費的社區版,後者包括免費的基本支持。

支持的操作系統:Windows、Linux和OS X。

相關鏈接: http://www.gridgain.com

60. Infinispan

作為一個紅帽JBoss項目,基於Java的Infinispan是一種分佈式內存中數據網格。它可以用作緩存、用作高性能NoSQL數據庫,或者為諸多框架添加集群功能。

支持的操作系統:與操作系統無關。

相關鏈接: http://www.jboss.org/infinispan.html


分享到:


相關文章: