物聯網帶來了眾多傳感器及其他設備,它們在生成源源不斷的數據流,而物聯網只是推動市場需要新型分析工具的重大趨勢之一。比如需要流數據分析工具來改善藥物發現,美國宇航局和搜尋外星文明研究所(SETI)甚至在開展合作,分析數TB復雜的外太空無線電信號流。
雖然Apache Spark在數據分析領域搶走了許多風頭,那是由於IBM及其他公司在這方面投入了數十億美元的研發資金,但幾個藉藉無名的開源項目也在迅速崛起。下面是值得探討的三種新興的數據分析工具。
1.Grappa大大小小的企業組織正在致力於研究從數據流提取寶貴信息的新方法,其中許多在處理集群上生成的數據,而且在日益處理商用硬件上生成的數據。這樣一來,成本合理的、以數據為中心的方法受到了重視,這種方法可以改善MapReduce、甚至Spark等工具的性能和功能。Grappa開源項目這時候閃亮登場了,它可以在大眾化集群上擴展數據密集型應用程序,並且提供了一種新型的抽象機制,比經典的分布式共享內存(DSM)系統更勝一籌。
你可以在此獲得Grappa的源代碼,並找到關於它的更多信息。Grappa的起源是這樣的:一群在克雷(Cray)系統上運行大數據任務方面有著豐富經驗的工程師想,是不是可以與克雷系統在現成商用硬件上能夠實現的分析功能一較高下。
正如開發人員特別指出:“Grappa在足夠高級的層面提供了抽象,因而包括數據密集型平台所常見的許多性能優化。然而,其相對低級的接口又提供了一種方便的抽象,以便在此基礎上構建數據密集型框架。(簡化版)MapReduce、GraphLab和關系查詢引擎的原型實現就建立在Grappa的基礎上,它們的性能比原有系統更勝一籌。”
采用BSD許可證的Grappa在GitHub上可以免費獲取。如果你有興趣看看Grappa是怎麼實際運行的,可以在應用程序的README文件中遵照通俗易懂的快速啟動說明,構建Grappa應用程序,並在集群上運行。
2.Apache DrillApache 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 KafkaApache Kafka項目已憑借實時數據跟蹤功能俨然成為一顆明星。它提供了處理實時數據的功能,具有統一、高吞吐量、低延遲等優點。Confluent及其他組織還開發了自定義工具,以便Kafka與數據流結合使用。
Apache Kafka最初由LinkedIn開發,後來在2011年年初開放了源代碼。它是一種經過加固和測試的工具,許多企業組織要求員工擁有Kafka方面的知識。使用Kafka的知名公司包括思科、網飛、貝寶、優步和Spotify。
LinkedIn當初開發Kafka的那些工程師還成立了Confluent,它專注於Kafka。Confluent大學為Kafka開發人員以及操作員/管理員提供培訓課程。現場課程和公開課程都有提供。
原文來自:http://os.51cto.com/art/201606/512738.htm
本文地址:http://www.linuxprobe.com/spark-not-only.html
http://xxxxxx/Linuxjc/1184649.html TechArticle