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