Hadoop是大數(shù)據(jù)領域最流行的技術,但并非唯一。還有很多其他技術可用于解決大數(shù)據(jù)問題。除了Apache Hadoop外,另外9個大數(shù)據(jù)技術也是必須要了解的。
Apache Flink
Apache Samza
Google Cloud Data Flow
StreamSets
Tensor Flow
Apache NiFi
Druid
LinkedIn WhereHows
Microsoft Cognitive Services
Apache Flink:是一個高效、分布式、基于Java實現(xiàn)的通用大數(shù)據(jù)分析引擎,它具有分布式MapReduce一類平臺的高效性、靈活性和擴展性以及并行數(shù)據(jù)庫查詢優(yōu)化方案,它支持批量和基于流的數(shù)據(jù)分析,且提供了基于Java和Scala的API。
這是一種由社區(qū)驅動的分布式大數(shù)據(jù)分析開源框架,類似于Apache Hadoop和Apache Spark。它的引擎可借助數(shù)據(jù)流和內存中(in-memory)處理與迭代操作改善性能。目前Apache Flink已成為一個頂級項目(Top Level Project,TLP),于2014年4月被納入Apache孵化器,目前在全球范圍內有很多貢獻者。
Flink受到了MPP數(shù)據(jù)庫技術(Declaratives、Query Optimizer、Parallel in-memory、out-of-core 算法)和Hadoop MapReduce技術(Massive scale out, User Defined functions, Schema>
Samza的代碼可作為Yarn作業(yè)運行,還可以實施StreamTask接口,借此定義process()調用。StreamTask可以在任務實例內部運行,其本身也位于一個Yarn容器內。詳細了解
Cloud Dataflow:Dataflow是一種原生的Google Cloud數(shù)據(jù)處理服務,是一種構建、管理和優(yōu)化復雜數(shù)據(jù)流水線的方法,用于構建移動應用,調試、追蹤和監(jiān)控產(chǎn)品級云應用。它采用了Google內部的技術Flume和MillWhell,其中Flume用于數(shù)據(jù)的高效并行化處理,而MillWhell則用于互聯(lián)網(wǎng)級別的帶有很好容錯機制的流處理。
該技術提供了簡單的編程模型,可用于批處理和流式數(shù)據(jù)的處理任務。該技術提供的數(shù)據(jù)流管理服務可控制數(shù)據(jù)處理作業(yè)的執(zhí)行,數(shù)據(jù)處理作業(yè)可使用Data Flow SDK(Apache Beam)創(chuàng)建。
Google Data Flow為數(shù)據(jù)相關的任務提供了管理、監(jiān)視和安全能力。Sources和Sink可在管線中抽象地執(zhí)行讀寫操作,管線封裝而成的整個計算序列可以接受外部來源的某些輸入數(shù)據(jù),通過對數(shù)據(jù)進行轉換生成一定的輸出數(shù)據(jù)。了解詳情
StreamSets:StreamSets是一種專門針對傳輸中數(shù)據(jù)進行過優(yōu)化的數(shù)據(jù)處理平臺,提供了可視化數(shù)據(jù)流創(chuàng)建模型,通過開源的方式發(fā)行。該技術可部署在內部環(huán)境或云中,提供了豐富的監(jiān)視和管理界面。
數(shù)據(jù)收集器可使用數(shù)據(jù)管線實時地流式傳輸并處理數(shù)據(jù),管線描述了數(shù)據(jù)從源頭到最終目標的流動方式,可包含來源、目標,以及處理程序。數(shù)據(jù)收集器的生命周期可通過管理控制臺進行控制。了解詳情
TensorFlow:是繼DistBelief之后的第二代機器學習系統(tǒng)。TensorFlow源自Google旗下的Google Brain項目,主要目標在于為Google全公司的不同產(chǎn)品和服務應用各種類型的神經(jīng)網(wǎng)絡機器學習能力。
支持分布式計算的TensorFlow能夠使用戶在自己的機器學習基礎結構中訓練分布式模型。該系統(tǒng)以高性能的gRPC數(shù)據(jù)庫為支撐,與最近發(fā)布的Google云機器學習系統(tǒng)互補,使用戶能夠利用Google云平臺,對TensorFlow模型進行訓練并提供服務。
這是一種開源軟件庫,可使用數(shù)據(jù)流圖譜(data flow graph)進行數(shù)值運算,這種技術已被包括DeepDream、RankBrain、Smart Replyused在內的各種Google項目所使用。
數(shù)據(jù)流圖譜使用由節(jié)點(Node)和邊緣(Edge)組成的有向圖(Directed graph)描述數(shù)值運算。圖譜中的節(jié)點代表數(shù)值運算,邊緣代表負責在節(jié)點之間進行通信的多維數(shù)據(jù)陣列(張量,Tensor)。邊緣還描述了節(jié)點之間的輸入/輸出關系。“TensorFlow”這個名稱蘊含了張量在圖譜上流動的含義。了解詳情
Druid:Druid是一個用于大數(shù)據(jù)實時查詢和分析的高容錯、高性能開源分布式系統(tǒng),旨在快速處理大規(guī)模的數(shù)據(jù),并能夠實現(xiàn)快速查詢和分析,誕生于2011年,包含諸如驅動交互式數(shù)據(jù)應用程序,多租戶:大量并發(fā)用戶,擴展能力:每天上萬億事件,次秒級查詢,實時分析等功能。Druid還包含一些特殊的重要功能,例如低延遲數(shù)據(jù)攝入、快速聚合、任意切割能力、高可用性、近似計算與精確計算等。