知道 Hadoop 就夠了?這九大技術你也必須瞭解!

2016-05-19 11:01:22.0
Hadoop

除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

Hadoop是大數據領域最流行的技術,但並非唯一。還有很多其他技術可用於解決大數據問題。除了Apache Hadoop外,另外9個大數據技術也是必須要瞭解的。

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。

阿里百川(baichuan.taobao.com) 是阿里巴巴集團的無線開放平臺,通過“技術、商業及大數據”的開放,提供移動場景下的高內聚、開放式、行業領先的技術產品矩陣、成熟的商業組件和完善的服務體系,幫助移動開發者快速搭建APP、加速APP商業化進程,全方位賦能移動開發者及移動創業者。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章