天天看點

除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個大資料技術也是必須要了解的。

是一個高效、分布式、基于java實作的通用大資料分析引擎,它具有分布式mapreduce一類平台的高效性、靈活性和擴充性以及并行資料庫查詢優化方案,它支援批量和基于流的資料分析,且提供了基于java和scala的api。

這是一種由社群驅動的分布式大資料分析開源架構,類似于apache hadoop和apache spark。它的引擎可借助資料流和記憶體中(in-memory)處理與疊代操作改善性能。目前apache flink已成為一個頂級項目(top level project,tlp),于2014年4月被納入apache孵化器,目前在全球範圍内有很多貢獻者。

除Hadoop大資料技術外,還需了解的九大技術

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等功能。

除Hadoop大資料技術外,還需了解的九大技術

samza的代碼可作為yarn作業運作,還可以實施streamtask接口,借此定義process()調用。streamtask可以在任務執行個體内部運作,其本身也位于一個yarn容器内。

3.cloud dataflow:

dataflow是一種原生的google cloud資料處理服務,是一種建構、管理和優化複雜資料流水線的方法,用于建構移動應用,調試、追蹤和監控産品級雲應用。它采用了google内部的技術flume和millwhell,其中flume用于資料的高效并行化處理,而millwhell則用于網際網路級别的帶有很好容錯機制的流處理。

該技術提供了簡單的程式設計模型,可用于批處理和流式資料的處理任務。該技術提供的資料流管理服務可控制資料處理作業的執行,資料處理作業可使用data flow sdk(apache beam)建立。

除Hadoop大資料技術外,還需了解的九大技術

google data flow為資料相關的任務提供了管理、監視和安全能力。sources和sink可在管線中抽象地執行讀寫操作,管線封裝而成的整個計算序列可以接受外部來源的某些輸入資料,通過對資料進行轉換生成一定的輸出資料。

4.streamsets:

streamsets是一種專門針對傳輸中資料進行過優化的資料處理平台,提供了可視化資料流建立模型,通過開源的方式發行。該技術可部署在内部環境或雲中,提供了豐富的監視和管理界面。

除Hadoop大資料技術外,還需了解的九大技術

資料收集器可使用資料管線實時地流式傳輸并處理資料,管線描述了資料從源頭到最終目标的流動方式,可包含來源、目标,以及處理程式。資料收集器的生命周期可通過管理控制台進行控制。

5.tensorflow:

是繼distbelief之後的第二代機器學習系統。tensorflow源自google旗下的google brain項目,主要目标在于為google全公司的不同産品和服務應用各種類型的神經網絡機器學習能力。

支援分布式計算的tensorflow能夠使使用者在自己的機器學習基礎結構中訓練分布式模型。該系統以高性能的grpc資料庫為支撐,與最近釋出的google雲機器學習系統互補,使使用者能夠利用google雲平台,對tensorflow模型進行訓練并提供服務。

這是一種開源軟體庫,可使用資料流圖譜(data flow graph)進行數值運算,這種技術已被包括deepdream、rankbrain、smart replyused在内的各種google項目所使用。

除Hadoop大資料技術外,還需了解的九大技術

資料流圖譜使用由節點(node)和邊緣(edge)組成的有向圖(directed graph)描述數值運算。圖譜中的節點代表數值運算,邊緣代表負責在節點之間進行通信的多元資料陣列(張量,tensor)。邊緣還描述了節點之間的輸入/輸出關系。“tensorflow”這個名稱蘊含了張量在圖譜上流動的含義。

6.druid:

druid是一個用于大資料實時查詢和分析的高容錯、高性能開源分布式系統,旨在快速處理大規模的資料,并能夠實作快速查詢和分析,誕生于2011年,包含諸如驅動互動式資料應用程式,多租戶:大量并發使用者,擴充能力:每天上萬億事件,次秒級查詢,實時分析等功能。druid還包含一些特殊的重要功能,例如低延遲資料攝入、快速聚合、任意切割能力、高可用性、近似計算與精确計算等。

建立druid的最初意圖主要是為了解決查詢延遲問題,當時試圖使用hadoop來實作互動式查詢分析,但是很難滿足實時分析的需要。而druid提供了以互動方式通路資料的能力,并權衡了查詢的靈活性和性能而采取了特殊的存儲格式。

除Hadoop大資料技術外,還需了解的九大技術

該技術還提供了其他實用功能,例如實時節點、曆史節點、broker節點、coordinator節點、使用基于json查詢語言的索引服務。 了解詳情

7.apache nifi:

apache nifi是一套強大可靠的資料處理和分發系統,可用于對資料的流轉和轉換建立有向圖。借助該系統可以用圖形界面建立、監視、控制資料流,有豐富的配置選項可供使用,可在運作時修改資料流,動态建立資料分區。此外還可以對資料在整個系統内的流動進行資料起源跟蹤。通過開發自定義元件,還可輕松對其進行擴充。

除Hadoop大資料技術外,還需了解的九大技術

apache nifi的運轉離不開諸如flowfile、processor,以及connection等概念。

8.linkedin wherehows:

wherehows提供帶中繼資料搜尋的企業編錄(enterprise catalog),可以讓您了解資料存儲在哪裡,是如何儲存到那裡的。該工具可提供協作、資料血統分析等功能,并可連接配接至多種資料源和提取、加載和轉換(etl)工具。

除Hadoop大資料技術外,還需了解的九大技術

該工具為資料發現提供了web界面,支援api的後端伺服器負責控制中繼資料的爬網(crawling)以及與其他系統的內建。

9.microsoft cognitive services:

該技術源自project oxford和bing,提供了22種認知計算api,主要分類包括:視覺、語音、語言、知識,以及搜尋。該技術已內建于cortana intelligence suite。

除Hadoop大資料技術外,還需了解的九大技術

這是一種開源技術,提供了22種不同的認知計算rest api,并為開發者提供了适用于windows、ios、android以及python的sdk。

轉自:http://www.jiagoushuo.com/article/1000188.html

以上大資料技術作為知識拓展,如果要嘗試spark或hadoop大資料相關技術可以通路 阿裡雲的 e-mapreduce   相關連結為:https://emr.console.aliyun.com/#/cluster/region/cn-hangzhou