摘要: 除Hadoop外的9個大數據技術: 1.Apache Flink 2.Apache Samza 3.Google Cloud Data Flow 4.StreamSets 5.Tensor Flow 6.Apache NiFi 7.Druid 8.LinkedIn WhereHows 9.Microsoft Cognitive Services
1.Apache Flink
是一個高效、分佈式、基於Java實現的通用大數據分析引擎,它具有分佈式MapReduce一類平台的高效性、靈活性和擴展性以及並行數據庫查詢優化方案,它支持批量和基於流的數據分析,且提供了基於Java和Scala的API。這是一種由社區驅動的分佈式大數據分析開源框架,類似於Apache Hadoop和Apache Spark。它的引擎可藉助數據流和內存中(in-memory)處理與迭代操作改善性能。目前Apache Flink已成為一個頂級項目(Top Level Project,TLP),於2014年4月被納入Apache孵化器,目前在全球範圍內有很多貢獻者。
Flink受到了MPP數據庫技術(Declaratives、Query Optimizer、Parallel in-memory、out-of-core 算法)和Hadoop MapReduce技術(Massive scale out, User Defined functions, Schema on Read)的啟發,有很多獨特功能(Streaming , Iterations, Dataflow, General API)。
2.Apache Samza
是一個開源、分佈式的流處理框架,它使用開源分佈式消息處理系統Apache Kafka來實現消息服務,並使用資源管理器Apache Hadoop Yarn實現容錯處理、處理器隔離、安全性和資源管理。該技術由LinkedIn開發,最初目的是為了解決Apache Kafka在擴展能力方面存在的問題,包含諸如Simple API、Managed state、Fault Tolerant、Durable messaging、Scalable、Extensible,以及Processor Isolation等功能。
Samza的代碼可作為Yarn作業運行,還可以實施StreamTask接口,藉此定義process()調用。StreamTask可以在任務實例內部運行,其本身也位於一個Yarn容器內。
3.Cloud Dataflow
Dataflow是一種原生的Google Cloud數據處理服務,是一種構建、管理和優化複雜數據流水線的方法,用於構建移動應用,調試、追踪和監控產品級雲應用。它採用了Google內部的技術Flume和MillWhell,其中Flume用於數據的高效並行化處理,而MillWhell則用於互聯網級別的帶有很好容錯機制的流處理。該技術提供了簡單的編程模型,可用於批處理和流式數據的處理任務。該技術提供的數據流管理服務可控制數據處理作業的執行,數據處理作業可使用Data Flow SDK(Apache Beam)創建。
Google Data Flow為數據相關的任務提供了管理、監視和安全能力。Sources和Sink可在管線中抽像地執行讀寫操作,管線封裝而成的整個計算序列可以接受外部來源的某些輸入數據,通過對數據進行轉換生成一定的輸出數據。
4.StreamSets
StreamSets是一種專門針對傳輸中數據進行過優化的數據處理平台,提供了可視化數據流創建模型,通過開源的方式發行。該技術可部署在內部環境或云中,提供了豐富的監視和管理界面。
數據收集器可使用數據管線實時地流式傳輸並處理數據,管線描述了數據從源頭到最終目標的流動方式,可包含來源、目標,以及處理程序。數據收集器的生命週期可通過管理控制台進行控制。
5.TensorFlow
是繼DistBelief之後的第二代機器學習系統。TensorFlow源自Google旗下的Google Brain項目,主要目標在於為Google全公司的不同產品和服務應用各種類型的神經網絡機器學習能力。支持分佈式計算的TensorFlow能夠使用戶在自己的機器學習基礎結構中訓練分佈式模型。該系統以高性能的gRPC數據庫為支撐,與最近發布的Google雲機器學習系統互補,使用戶能夠利用Google雲平台,對TensorFlow模型進行訓練並提供服務。這是一種開源軟件庫,可使用數據流圖譜(data flow graph)進行數值運算,這種技術已被包括DeepDream、RankBrain、Smart Replyused在內的各種Google項目所使用。
數據流圖譜使用由節點(Node)和邊緣(Edge)組成的有向圖(Directed graph)描述數值運算。圖譜中的節點代表數值運算,邊緣代表負責在節點之間進行通信的多維數據陣列(張量,Tensor)。邊緣還描述了節點之間的輸入/輸出關係。“TensorFlow”這個名稱蘊含了張量在圖譜上流動的含義。
6.Druid
Druid是一個用於大數據實時查詢和分析的高容錯、高性能開源分佈式系統,旨在快速處理大規模的數據,並能夠實現快速查詢和分析,誕生於2011年,包含諸如驅動交互式數據應用程序,多租戶:大量並髮用戶,擴展能力:每天上萬億事件,次秒級查詢,實時分析等功能。Druid還包含一些特殊的重要功能,例如低延遲數據攝入、快速聚合、任意切割能力、高可用性、近似計算與精確計算等。創建Druid的最初意圖主要是為了解決查詢延遲問題,當時試圖使用Hadoop來實現交互式查詢分析,但是很難滿足實時分析的需要。而Druid提供了以交互方式訪問數據的能力,並權衡了查詢的靈活性和性能而採取了特殊的存儲格式。
該技術還提供了其他實用功能,例如實時節點、歷史節點、Broker節點、Coordinator節點、使用基於JSON查詢語言的索引服務。了解詳情
7.Apache NiFi
Apache NiFi是一套強大可靠的數據處理和分發系統,可用於對數據的流轉和轉換創建有向圖。借助該系統可以用圖形界面創建、監視、控制數據流,有豐富的配置選項可供使用,可在運行時修改數據流,動態創建數據分區。此外還可以對數據在整個系統內的流動進行數據起源跟踪。通過開發自定義組件,還可輕鬆對其進行擴展。
Apache NiFi的運轉離不開諸如FlowFile、Processor,以及Connection等概念。
8.LinkedIn WhereHows
WhereHows提供帶元數據搜索的企業編錄(Enterprise catalog),可以讓您了解數據存儲在哪裡,是如何保存到那裡的。該工具可提供協作、數據血統分析等功能,並可連接至多種數據源和提取、加載和轉換(ETL)工具。
該工具為數據發現提供了Web界面,支持API的後端服務器負責控制元數據的爬網(Crawling)以及與其他系統的集成。
9.Microsoft Cognitive Services
該技術源自Project Oxford和Bing,提供了22種認知計算API,主要分類包括:視覺、語音、語言、知識,以及搜索。該技術已集成於Cortana Intelligence Suite。
這是一種開源技術,提供了22種不同的認知計算REST API,並為開發者提供了適用於Windows、IOS、Android以及Python的SDK。
轉貼自: 36大數據
留下你的回應
以訪客張貼回應