你還需要知道的9個(gè)大數(shù)據(jù)技術(shù)

責(zé)任編輯:editor005

作者:大愚若智

2016-10-19 14:32:54

摘自:InfoQ

數(shù)據(jù)收集器可使用數(shù)據(jù)管線實(shí)時(shí)地流式傳輸并處理數(shù)據(jù),管線描述了數(shù)據(jù)從源頭到最終目標(biāo)的流動(dòng)方式,可包含來(lái)源、目標(biāo),以及處理程序。

Hadoop是大數(shù)據(jù)領(lǐng)域最流行的技術(shù),但并非唯一。還有很多其他技術(shù)可用于解決大數(shù)據(jù)問(wèn)題。除了Apache Hadoop外,另外9個(gè)大數(shù)據(jù)技術(shù)也是必須要了解的。

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

Apache Flink :是一個(gè)高效、分布式、基于Java實(shí)現(xiàn)的通用大數(shù)據(jù)分析引擎,它具有分布式MapReduce一類(lèi)平臺(tái)的高效性、靈活性和擴(kuò)展性以及并行數(shù)據(jù)庫(kù)查詢(xún)優(yōu)化方案,它支持批量和基于流的數(shù)據(jù)分析,且提供了基于Java和Scala的API。 這是一種由社區(qū)驅(qū)動(dòng)的分布式大數(shù)據(jù)分析開(kāi)源框架,類(lèi)似于Apache Hadoop和Apache Spark。它的引擎可借助數(shù)據(jù)流和內(nèi)存中(in-memory)處理與迭代操作改善性能。目前Apache Flink已成為一個(gè)頂級(jí)項(xiàng)目(Top Level Project,TLP),于2014年4月被納入Apache孵化器,目前在全球范圍內(nèi)有很多貢獻(xiàn)者。

大數(shù)據(jù)

Flink受到了MPP數(shù)據(jù)庫(kù)技術(shù)(Declaratives、Query Optimizer、Parallel in-memory、out-of-core 算法)和Hadoop MapReduce技術(shù)(Massive scale out, User Defined functions, Schema on Read)的啟發(fā),有很多獨(dú)特功能(Streaming, Iterations, Dataflow, General API)。

Apache Samza :是一個(gè)開(kāi)源、分布式的流處理框架,它使用開(kāi)源分布式消息處理系統(tǒng)Apache Kafka來(lái)實(shí)現(xiàn)消息服務(wù),并使用資源管理器Apache Hadoop Yarn實(shí)現(xiàn)容錯(cuò)處理、處理器隔離、安全性和資源管理。 該技術(shù)由LinkedIn開(kāi)發(fā),最初目的是為了解決Apache Kafka在擴(kuò)展能力方面存在的問(wèn)題,包含諸如Simple API、Managed state、Fault Tolerant、Durable messaging、Scalable、Extensible,以及Processor Isolation等功能。

Samza的代碼可作為Yarn作業(yè)運(yùn)行,還可以實(shí)施StreamTask接口,借此定義process()調(diào)用。StreamTask可以在任務(wù)實(shí)例內(nèi)部運(yùn)行,其本身也位于一個(gè)Yarn容器內(nèi)。

Cloud Dataflow :Dataflow是一種原生的Google Cloud數(shù)據(jù)處理服務(wù),是一種構(gòu)建、管理和優(yōu)化復(fù)雜數(shù)據(jù)流水線的方法,用于構(gòu)建移動(dòng)應(yīng)用,調(diào)試、追蹤和監(jiān)控產(chǎn)品級(jí)云應(yīng)用。它采用了Google內(nèi)部的技術(shù)Flume和MillWhell,其中Flume用于數(shù)據(jù)的高效并行化處理,而MillWhell則用于互聯(lián)網(wǎng)級(jí)別的帶有很好容錯(cuò)機(jī)制的流處理。

該技術(shù)提供了簡(jiǎn)單的編程模型,可用于批處理和流式數(shù)據(jù)的處理任務(wù)。該技術(shù)提供的數(shù)據(jù)流管理服務(wù)可控制數(shù)據(jù)處理作業(yè)的執(zhí)行,數(shù)據(jù)處理作業(yè)可使用Data Flow SDK(Apache Beam)創(chuàng)建。

Google Data Flow為數(shù)據(jù)相關(guān)的任務(wù)提供了管理、監(jiān)視和安全能力。Sources和Sink可在管線中抽象地執(zhí)行讀寫(xiě)操作,管線封裝而成的整個(gè)計(jì)算序列可以接受外部來(lái)源的某些輸入數(shù)據(jù),通過(guò)對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換生成一定的輸出數(shù)據(jù)。

StreamSets :StreamSets是一種專(zhuān)門(mén)針對(duì)傳輸中數(shù)據(jù)進(jìn)行過(guò)優(yōu)化的數(shù)據(jù)處理平臺(tái),提供了可視化數(shù)據(jù)流創(chuàng)建模型,通過(guò)開(kāi)源的方式發(fā)行。該技術(shù)可部署在內(nèi)部環(huán)境或云中,提供了豐富的監(jiān)視和管理界面。

數(shù)據(jù)收集器可使用數(shù)據(jù)管線實(shí)時(shí)地流式傳輸并處理數(shù)據(jù),管線描述了數(shù)據(jù)從源頭到最終目標(biāo)的流動(dòng)方式,可包含來(lái)源、目標(biāo),以及處理程序。數(shù)據(jù)收集器的生命周期可通過(guò)管理控制臺(tái)進(jìn)行控制。

TensorFlow :是繼DistBelief之后的第二代機(jī)器學(xué)習(xí)系統(tǒng)。TensorFlow源自Google旗下的Google Brain項(xiàng)目,主要目標(biāo)在于為Google全公司的不同產(chǎn)品和服務(wù)應(yīng)用各種類(lèi)型的神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)能力。

支持分布式計(jì)算的TensorFlow能夠使用戶(hù)在自己的機(jī)器學(xué)習(xí)基礎(chǔ)結(jié)構(gòu)中訓(xùn)練分布式模型。該系統(tǒng)以高性能的gRPC數(shù)據(jù)庫(kù)為支撐,與最近發(fā)布的Google云機(jī)器學(xué)習(xí)系統(tǒng)互補(bǔ),使用戶(hù)能夠利用Google云平臺(tái),對(duì)TensorFlow模型進(jìn)行訓(xùn)練并提供服務(wù)。

這是一種開(kāi)源軟件庫(kù),可使用數(shù)據(jù)流圖譜(data flow graph)進(jìn)行數(shù)值運(yùn)算,這種技術(shù)已被包括DeepDream、RankBrain、Smart Replyused在內(nèi)的各種Google項(xiàng)目所使用。

數(shù)據(jù)流圖譜使用由節(jié)點(diǎn)(Node)和邊緣(Edge)組成的有向圖(Directed graph)描述數(shù)值運(yùn)算。圖譜中的節(jié)點(diǎn)代表數(shù)值運(yùn)算,邊緣代表負(fù)責(zé)在節(jié)點(diǎn)之間進(jìn)行通信的多維數(shù)據(jù)陣列(張量,Tensor)。邊緣還描述了節(jié)點(diǎn)之間的輸入/輸出關(guān)系。“TensorFlow”這個(gè)名稱(chēng)蘊(yùn)含了張量在圖譜上流動(dòng)的含義。

Druid :Druid是一個(gè)用于大數(shù)據(jù)實(shí)時(shí)查詢(xún)和分析的高容錯(cuò)、高性能開(kāi)源分布式系統(tǒng),旨在快速處理大規(guī)模的數(shù)據(jù),并能夠?qū)崿F(xiàn)快速查詢(xún)和分析,誕生于2011年,包含諸如驅(qū)動(dòng)交互式數(shù)據(jù)應(yīng)用程序,多租戶(hù):大量并發(fā)用戶(hù),擴(kuò)展能力:每天上萬(wàn)億事件,次秒級(jí)查詢(xún),實(shí)時(shí)分析等功能。Druid還包含一些特殊的重要功能,例如低延遲數(shù)據(jù)攝入、快速聚合、任意切割能力、高可用性、近似計(jì)算與精確計(jì)算等。

創(chuàng)建Druid的最初意圖主要是為了解決查詢(xún)延遲問(wèn)題,當(dāng)時(shí)試圖使用Hadoop來(lái)實(shí)現(xiàn)交互式查詢(xún)分析,但是很難滿(mǎn)足實(shí)時(shí)分析的需要。而Druid提供了以交互方式訪問(wèn)數(shù)據(jù)的能力,并權(quán)衡了查詢(xún)的靈活性和性能而采取了特殊的存儲(chǔ)格式。

該技術(shù)還提供了其他實(shí)用功能,例如實(shí)時(shí)節(jié)點(diǎn)、歷史節(jié)點(diǎn)、Broker節(jié)點(diǎn)、Coordinator節(jié)點(diǎn)、使用基于JSON查詢(xún)語(yǔ)言的索引服務(wù)。

Apache NiFi :Apache NiFi是一套強(qiáng)大可靠的數(shù)據(jù)處理和分發(fā)系統(tǒng),可用于對(duì)數(shù)據(jù)的流轉(zhuǎn)和轉(zhuǎn)換創(chuàng)建有向圖。借助該系統(tǒng)可以用圖形界面創(chuàng)建、監(jiān)視、控制數(shù)據(jù)流,有豐富的配置選項(xiàng)可供使用,可在運(yùn)行時(shí)修改數(shù)據(jù)流,動(dòng)態(tài)創(chuàng)建數(shù)據(jù)分區(qū)。此外還可以對(duì)數(shù)據(jù)在整個(gè)系統(tǒng)內(nèi)的流動(dòng)進(jìn)行數(shù)據(jù)起源跟蹤。通過(guò)開(kāi)發(fā)自定義組件,還可輕松對(duì)其進(jìn)行擴(kuò)展。

  Apache NiFi的運(yùn)轉(zhuǎn)離不開(kāi)諸如FlowFile、Processor,以及Connection等概念。

LinkedIn WhereHows :WhereHows提供帶元數(shù)據(jù)搜索的企業(yè)編錄(Enterprise catalog),可以讓您了解數(shù)據(jù)存儲(chǔ)在哪里,是如何保存到那里的。該工具可提供協(xié)作、數(shù)據(jù)血統(tǒng)分析等功能,并可連接至多種數(shù)據(jù)源和提取、加載和轉(zhuǎn)換(ETL)工具。

該工具為數(shù)據(jù)發(fā)現(xiàn)提供了Web界面,支持API的后端服務(wù)器負(fù)責(zé)控制元數(shù)據(jù)的爬網(wǎng)(Crawling)以及與其他系統(tǒng)的集成。

Microsoft Cognitive Services :該技術(shù)源自Project Oxford和Bing,提供了22種認(rèn)知計(jì)算API,主要分類(lèi)包括:視覺(jué)、語(yǔ)音、語(yǔ)言、知識(shí),以及搜索。該技術(shù)已集成于Cortana Intelligence Suite。

這是一種開(kāi)源技術(shù),提供了22種不同的認(rèn)知計(jì)算REST API,并為開(kāi)發(fā)者提供了適用于Windows、IOS、Android以及Python的SDK。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)