大數據人推薦:60款頂級大數據開源工具

摘要:說到處理大數據的工具,普通的開源解決方案(尤其是Apache Hadoop)堪稱中流砥柱。

弗雷斯特調研公司的分析師Mike Gualtieri最近預測,在接下來幾年,「100%的大公司」會採用Hadoop。Market Research的一份報告預測,到2011年,Hadoop市場會以58%的年複合增長率(CAGR)高速增長;到2020年,市場產值會超過10億美元。

IBM更是非常看好開源大數據工具,派出了3500名研究人員開發Apache Spark,這個工具是Hadoop生態系統的一部分。

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

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

一、Hadoop相關工具

1. Hadoop

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

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

相關鏈接:Welcome to Apache? Hadoop?!

2. Ambari

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

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

相關鏈接:Ambari -

3. Avro

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

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

相關鏈接:Welcome to Apache Avro!

4. Cascading

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

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

相關鏈接:Cascading | Cascading

5. Chukwa

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

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

相關鏈接:Welcome to Apache Chukwa

6. Flume

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

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

相關鏈接:Home - Apache Flume - Apache Software Foundation

7. HBase

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

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

相關鏈接:Apache HBase - Apache HBase? Home

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

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

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

相關鏈接:HDFS Users Guide

9. Hive

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

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

相關鏈接:Apache Hive TM

10. Hivemall

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

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

相關鏈接:myui/hivemall

11. Mahout

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

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

相關鏈接:Scalable machine learning and data mining

12. MapReduce

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

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

相關鏈接:MapReduce Tutorial

13. Oozie

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

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

相關鏈接:Apache Oozie Workflow Scheduler for Hadoop

14. Pig

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

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

相關鏈接:Welcome to Apache Pig!

15. Sqoop

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

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

相關鏈接:Sqoop -

16. Spark

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

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

相關鏈接:Apache Spark? - Lightning-Fast Cluster Computing

17. Tez

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

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

相關鏈接:Welcome to Apache Tez?

18. Zookeeper

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

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

相關鏈接:Apache ZooKeeper - Home

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

19. Disco

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

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

相關鏈接:Disco MapReduce

20. HPCC

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

支持的操作系統:Linux。

相關鏈接:HPCC Systems

21. Lumify

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

支持的操作系統:Linux。

相關鏈接:Infinispan Homepage - Infinispan

22. Pandas

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

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

相關鏈接:Python Data Analysis Library

23. Storm

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

支持的操作系統:Linux。

相關鏈接:Apache Storm

三、資料庫/數據倉庫

24. Blazegraph

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

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

相關鏈接:systap.com/bigdata

25. Cassandra

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

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

相關鏈接:Apache Cassandra

26. CouchDB

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

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

相關鏈接:Apache CouchDB

27. FlockDB

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

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

相關鏈接:twitter/flockdb

28. Hibari

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

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

相關鏈接:Hibari DB

29. Hypertable

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

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

相關鏈接:Hypertable - Big Data. Big Performance

30. Impala

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

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

相關鏈接:Apache Impala supported by Cloudera Enterprise

31. InfoBright社區版

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

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

相關鏈接:Home - Infobright

32. MongoDB

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

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

相關鏈接:MongoDB for GIANT Ideas

33. Neo4j

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

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

相關鏈接:Neo4j: The World"s Leading Graph Database

34. OrientDB

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

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

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

35. Pivotal Greenplum Database

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

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

相關鏈接:Pivotal Greenplum | Big Data

36. Riak

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

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

相關鏈接:Riak 0.10 is full of great stuff

37. Redis

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

支持的操作系統:Linux。

相關鏈接:Redis

四、商業智能

38. Talend Open Studio

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

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

相關鏈接:Talend Real-Time Open Source Big Data Integration Software

39. Jaspersoft

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

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

相關鏈接:Jaspersoft Business Intelligence Software

40. Pentaho

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

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

相關鏈接:Pentaho Community

41. SpagoBI

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

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

相關鏈接:The open source initiative supported by Engineering Group

42. KNIME

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

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

相關鏈接:Open for Innovation

43. BIRT

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

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

相關鏈接:Eclipse BIRT Project Home

五、數據挖掘

44.DataMelt

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

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

相關鏈接:Home < DataMelt

45. KEEL

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

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

相關鏈接:A software tool to assess evolutionary algorithms for Data Mining problems (regression, classification, clustering, pattern mining and so on)

46. Orange

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

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

相關鏈接:Data Mining Fruitful & Fun

47. RapidMiner

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

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

相關鏈接:Data Science Platform | Machine Learning | RapidMiner

48. Rattle

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

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

相關鏈接:A Graphical User Interface for Data Mining using R

49. SPMF

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

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

相關鏈接:A Java Open-Source Data Mining Library

50. Weka

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

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

相關鏈接:Department of Computer Science~ml/weka/

六、查詢引擎

51. Drill

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

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

相關鏈接:Schema-free SQL for Hadoop, NoSQL and Cloud Storage

七、編程語言

52. R

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

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

相關鏈接:The R Project for Statistical Computing

53. ECL

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

支持的操作系統:Linux。

相關鏈接:Learning ECL | HPCC Systems

八、大數據搜索

54. Lucene

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

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

相關鏈接:Apache Lucene Core

55. Solr

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

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

相關鏈接:Apache Solr -

九、內存中技術

56. Ignite

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

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

相關鏈接:Apache Ignite

57. Terracotta

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

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

相關鏈接:In-Memory Data Management for the Enterprise

58. Pivotal GemFire/Geode

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

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

相關鏈接:Pivotal GemFire | Big Data

59. GridGain

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

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

相關鏈接:GridGain is Built On the Apache? Ignite? In-Memory Computing Platform

60. Infinispan

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

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

文章來源:60款頂級大數據開源工具 大數據人推薦:60款頂級大數據開源工具


推薦閱讀:

阿里天池大數據競賽心得 : 前50強付出與回報
用數據對女生胸圍來次一本正經的探索吧!
go語言如何入門,如何提高?
大數據驅動的人工智慧時代,如何成為2%不被淘汰的人?

TAG:大数据分析 | Hadoop | 大数据 |