在數(shù)據(jù)分析方面,影響深遠的變化正在醞釀之中,而開源工具在引領(lǐng)許多變化。當然,你可能已熟悉這個領(lǐng)域的一些明星開源項目,比如Hadoop和Apache Spark,不過現(xiàn)在出現(xiàn)了強烈的要求,需要全面完善數(shù)據(jù)分析生態(tài)系統(tǒng)的新工具。值得注意的是,許多這些工具是為了處理流數(shù)據(jù)而定制的。
物聯(lián)網(wǎng)帶來了眾多傳感器及其他設備,它們在生成源源不斷的數(shù)據(jù)流,而物聯(lián)網(wǎng)只是推動市場需要新型分析工具的重大趨勢之一。比如需要流數(shù)據(jù)分析工具來改善藥物發(fā)現(xiàn),美國宇航局和搜尋外星文明研究所(SETI)甚至在開展合作,分析數(shù)TB復雜的外太空無線電信號流。
雖然Apache Spark在數(shù)據(jù)分析領(lǐng)域搶走了許多風頭,那是由于IBM及其他公司在這方面投入了數(shù)十億美元的研發(fā)資金,但幾個藉藉無名的開源項目也在迅速崛起。下面是值得探討的三種新興的數(shù)據(jù)分析工具。
1.Grappa
大大小小的企業(yè)組織正在致力于研究從數(shù)據(jù)流提取寶貴信息的新方法,其中許多在處理集群上生成的數(shù)據(jù),而且在日益處理商用硬件上生成的數(shù)據(jù)。這樣一來,成本合理的、以數(shù)據(jù)為中心的方法受到了重視,這種方法可以改善MapReduce、甚至Spark等工具的性能和功能。Grappa開源項目這時候閃亮登場了,它可以在大眾化集群上擴展數(shù)據(jù)密集型應用程序,并且提供了一種新型的抽象機制,比經(jīng)典的分布式共享內(nèi)存(DSM)系統(tǒng)更勝一籌。
你可以 在此 獲得Grappa的源代碼,并找到關(guān)于它的更多信息。Grappa的起源是這樣的:一群在克雷(Cray)系統(tǒng)上運行大數(shù)據(jù)任務方面有著豐富經(jīng)驗的工程師想,是不是可以與克雷系統(tǒng)在現(xiàn)成商用硬件上能夠?qū)崿F(xiàn)的分析功能一較高下。
正如開發(fā)人員特別指出:“Grappa在足夠高級的層面提供了抽象,因而包括數(shù)據(jù)密集型平臺所常見的許多性能優(yōu)化。然而,其相對低級的接口又提供了一種方便的抽象,以便在此基礎上構(gòu)建數(shù)據(jù)密集型框架。(簡化版)MapReduce、GraphLab和關(guān)系查詢引擎的原型實現(xiàn)就建立在Grappa的基礎上,它們的性能比原有系統(tǒng)更勝一籌。”
采用BSD許可證的Grappa在GitHub上可以免費獲取。如果你有興趣看看Grappa是怎么實際運行的,可以在應用程序的README文件中遵照通俗易懂的快速啟動說明,構(gòu)建Grappa應用程序,并在集群上運行。
2.Apache Drill
Apache Drill項目在大數(shù)據(jù)領(lǐng)域帶來了重大的影響,以至于MapR等公司甚至把它納入到其Hadoop發(fā)行版中。它是Apache的一個頂級項目,與Apache Spark一同應用于許多流數(shù)據(jù)場景。
比如說,在今年1月份召開的紐約Apache Drill大會上,MapR的系統(tǒng)工程師展示了Apache Spark和Drill如何可以協(xié)同用于涉及數(shù)據(jù)包捕獲和近實時查詢及搜索的一種使用場合下。
Drill在流數(shù)據(jù)應用程序中之所以如此出名,是因為它是一種分布式、無模式(schema-free)的SQL引擎。開發(fā)運維和IT人員可以使用Drill,以交互方式探索Hadoop及其他NoSQL數(shù)據(jù)庫(比如HBase和MongoDB)中的數(shù)據(jù)。不需要明確定義和維護模式,因為Drill可以自動充分利用嵌入到數(shù)據(jù)中的結(jié)構(gòu)。它能夠在操作員之間的內(nèi)存中流式傳輸數(shù)據(jù),并且盡量減少使用完成查詢所需的磁盤。
3.Apache Kafka
Apache Kafka項目已憑借實時數(shù)據(jù)跟蹤功能儼然成為一顆明星。它提供了處理實時數(shù)據(jù)的功能,具有統(tǒng)一、高吞吐量、低延遲等優(yōu)點。Confluent及其他組織還開發(fā)了自定義工具,以便Kafka與數(shù)據(jù)流結(jié)合使用。
Apache Kafka最初由LinkedIn開發(fā),后來在2011年年初開放了源代碼。它是一種經(jīng)過加固和測試的工具,許多企業(yè)組織要求員工擁有Kafka方面的知識。使用Kafka的知名公司包括思科、網(wǎng)飛、貝寶、優(yōu)步和Spotify。
LinkedIn當初開發(fā)Kafka的那些工程師還成立了Confluent,它專注于Kafka。Confluent大學為Kafka開發(fā)人員以及操作員/管理員提供培訓課程?,F(xiàn)場課程和公開課程都有提供。