除Apache Spark外的三種新興開源數據分析工具
這些 數據分析 項目大行其道:Apache Grappa、Apache Drill和Apache Kafka。
在數據分析方面,影響深遠的變化正在醞釀之中,而開源工具在引領許多變化。當然,你可能已熟悉這個領域的一些明星開源項目,比如Hadoop和Apache Spark,不過現在出現了強烈的要求,需要全面完善數據分析生態系統的新工具。值得注意的是,許多這些工具是為了處理流數據而定制的。
物聯網帶來了眾多傳感器及其他設備,它們在生成源源不斷的數據流,而物聯網只是推動市場需要新型分析工具的重大趨勢之一。比如需要流數據分析工具來改善藥物發現,美國宇航局和搜尋外星文明研究所(SETI)甚至在開展合作,分析數TB復雜的外太空無線電信號流。
雖然Apache Spark在數據分析領域搶走了許多風頭,那是由于IBM及其他公司在這方面投入了數十億美元的研發資金,但幾個藉藉無名的開源項目也在迅速崛起。下面是值得探討的三種新興的數據分析工具。
1.Grappa

大大小小的企業組織正在致力于研究從數據流提取寶貴信息的新方法,其中許多在處理集群上生成的數據,而且在日益處理商用硬件上生成的數據。這樣一來,成本合理的、以數據為中心的方法受到了重視,這種方法可以改善MapReduce、甚至Spark等工具的性能和功能。Grappa開源項目這時候閃亮登場了,它可以在大眾化集群上擴展數據密集型應用程序,并且提供了一種新型的抽象機制,比經典的分布式共享內存(DSM)系統更勝一籌。
你可以在此獲得Grappa的源代碼,并找到關于它的更多信息。Grappa的起源是這樣的:一群在克雷(Cray)系統上運行 大數據 任務方面有著豐富經驗的工程師想,是不是可以與克雷系統在現成商用硬件上能夠實現的分析功能一較高下。
正如開發人員特別指出:“Grappa在足夠高級的層面提供了抽象,因而包括數據密集型平臺所常見的許多性能優化。然而,其相對低級的接口又提供了一種方便的抽象,以便在此基礎上構建數據密集型框架。(簡化版)MapReduce、GraphLab和關系查詢引擎的原型實現就建立在Grappa的基礎上,它們的性能比原有系統更勝一籌。”
采用BSD許可證的Grappa在GitHub上可以免費獲取。如果你有興趣看看Grappa是怎么實際運行的,可以在應用程序的README文件中遵照通俗易懂的快速啟動說明,構建Grappa應用程序,并在集群上運行。想了解如何編寫自己的Grappa應用程序,不妨閱讀這個教程。
2.Apache Drill

Apache Drill項目在大數據領域帶來了重大的影響,以至于MapR等公司甚至把它納入到其Hadoop發行版中。它是Apache的一個頂級項目,與Apache Spark一同應用于許多流數據場景。
比如說,在今年1月份召開的紐約Apache Drill大會上,MapR的系統工程師展示了Apache Spark和Drill如何可以協同用于涉及數據包捕獲和近實時查詢及搜索的一種使用場合下。
Drill在流數據應用程序中之所以如此出名,是因為它是一種分布式、無模式(schema-free)的SQL引擎。開發運維和IT人員可以使用Drill,以交互方式探索Hadoop及其他NoSQL數據庫(比如HBase和MongoDB)中的數據。不需要明確定義和維護模式,因為Drill可以自動充分利用嵌入到數據中的結構。它能夠在操作員之間的內存中流式傳輸數據,并且盡量減少使用完成查詢所需的磁盤。
3.Apache Kafka

Apache Kafka項目已憑借實時數據跟蹤功能儼然成為一顆明星。它提供了處理實時數據的功能,具有統一、高吞吐量、低延遲等優點。Confluent及其他組織還開發了自定義工具,以便Kafka與數據流結合使用。
Apache Kafka最初由LinkedIn開發,后來在2011年年初開放了源代碼。它是一種經過加固和測試的工具,許多企業組織要求員工擁有Kafka方面的知識。使用Kafka的知名公司包括思科、網飛、貝寶、優步和Spotify。
LinkedIn當初開發Kafka的那些工程師還成立了Confluent,它專注于Kafka。Confluent大學為Kafka開發人員以及操作員/管理員提供培訓課程。現場課程和公開課程都有提供。
By.SAM DEAN
編譯丨布加迪

責任編輯:王培