除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
Hadoop是大數(shù)據(jù)領(lǐng)域最流行的技術(shù),但并非唯一。還有很多其他技術(shù)可用于解決大數(shù)據(jù)問題。除了Apache Hadoop外,另外9個(gè)大數(shù)據(jù)技術(shù)也是必須要了解的。
1.Apache Flink
是一個(gè)高效、分布式、基于Java實(shí)現(xiàn)的通用大數(shù)據(jù)分析引擎,它具有分布式MapReduce一類平臺(tái)的高效性、靈活性和擴(kuò)展性以及并行數(shù)據(jù)庫(kù)查詢優(yōu)化方案,它支持批量和基于流的數(shù)據(jù)分析,且提供了基于Java和Scala的API。
這是一種由社區(qū)驅(qū)動(dòng)的分布式大數(shù)據(jù)分析開源框架,類似于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)者。
圖1 Apache Flink
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)。
2.Apache Samza:
是一個(gè)開源、分布式的流處理框架,它使用開源分布式消息處理系統(tǒng)Apache Kafka來實(shí)現(xiàn)消息服務(wù),并使用資源管理器Apache Hadoop Yarn實(shí)現(xiàn)容錯(cuò)處理、處理器隔離、安全性和資源管理。
該技術(shù)由LinkedIn開發(fā),最初目的是為了解決Apache Kafka在擴(kuò)展能力方面存在的問題,包含諸如Simple API、Managed state、Fault Tolerant、Durable messaging、Scalable、Extensible,以及Processor Isolation等功能。
圖2 Apache Samza
Samza的代碼可作為Yarn作業(yè)運(yùn)行,還可以實(shí)施StreamTask接口,借此定義process()調(diào)用。StreamTask可以在任務(wù)實(shí)例內(nèi)部運(yùn)行,其本身也位于一個(gè)Yarn容器內(nèi)。
3.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)建。
圖3 Cloud Dataflow
Google Data Flow為數(shù)據(jù)相關(guān)的任務(wù)提供了管理、監(jiān)視和安全能力。Sources和Sink可在管線中抽象地執(zhí)行讀寫操作,管線封裝而成的整個(gè)計(jì)算序列可以接受外部來源的某些輸入數(shù)據(jù),通過對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換生成一定的輸出數(shù)據(jù)。
4.StreamSets:
StreamSets是一種專門針對(duì)傳輸中數(shù)據(jù)進(jìn)行過優(yōu)化的數(shù)據(jù)處理平臺(tái),提供了可視化數(shù)據(jù)流創(chuàng)建模型,通過開源的方式發(fā)行。該技術(shù)可部署在內(nèi)部環(huán)境或云中,提供了豐富的監(jiān)視和管理界面。
圖4 StreamSets
數(shù)據(jù)收集器可使用數(shù)據(jù)管線實(shí)時(shí)地流式傳輸并處理數(shù)據(jù),管線描述了數(shù)據(jù)從源頭到最終目標(biāo)的流動(dòng)方式,可包含來源、目標(biāo),以及處理程序。數(shù)據(jù)收集器的生命周期可通過管理控制臺(tái)進(jìn)行控制。
5.TensorFlow:
是繼DistBelief之后的第二代機(jī)器學(xué)習(xí)系統(tǒng)。TensorFlow源自Google旗下的Google Brain項(xiàng)目,主要目標(biāo)在于為Google全公司的不同產(chǎn)品和服務(wù)應(yīng)用各種類型的神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)能力。
支持分布式計(jì)算的TensorFlow能夠使用戶在自己的機(jī)器學(xué)習(xí)基礎(chǔ)結(jié)構(gòu)中訓(xùn)練分布式模型。該系統(tǒng)以高性能的gRPC數(shù)據(jù)庫(kù)為支撐,與最近發(fā)布的Google云機(jī)器學(xué)習(xí)系統(tǒng)互補(bǔ),使用戶能夠利用Google云平臺(tái),對(duì)TensorFlow模型進(jìn)行訓(xùn)練并提供服務(wù)。
這是一種開源軟件庫(kù),可使用數(shù)據(jù)流圖譜(data flow graph)進(jìn)行數(shù)值運(yùn)算,這種技術(shù)已被包括DeepDream、RankBrain、Smart Replyused在內(nèi)的各種Google項(xiàng)目所使用。
圖5 TensorFlow
數(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è)名稱蘊(yùn)含了張量在圖譜上流動(dòng)的含義。
6.Druid:
Druid是一個(gè)用于大數(shù)據(jù)實(shí)時(shí)查詢和分析的高容錯(cuò)、高性能開源分布式系統(tǒng),旨在快速處理大規(guī)模的數(shù)據(jù),并能夠?qū)崿F(xiàn)快速查詢和分析,誕生于2011年,包含諸如驅(qū)動(dòng)交互式數(shù)據(jù)應(yīng)用程序,多租戶:大量并發(fā)用戶,擴(kuò)展能力:每天上萬(wàn)億事件,次秒級(jí)查詢,實(shí)時(shí)分析等功能。Druid還包含一些特殊的重要功能,例如低延遲數(shù)據(jù)攝入、快速聚合、任意切割能力、高可用性、近似計(jì)算與精確計(jì)算等。
創(chuàng)建Druid的最初意圖主要是為了解決查詢延遲問題,當(dāng)時(shí)試圖使用Hadoop來實(shí)現(xiàn)交互式查詢分析,但是很難滿足實(shí)時(shí)分析的需要。而Druid提供了以交互方式訪問數(shù)據(jù)的能力,并權(quán)衡了查詢的靈活性和性能而采取了特殊的存儲(chǔ)格式。
圖6 Druid
該技術(shù)還提供了其他實(shí)用功能,例如實(shí)時(shí)節(jié)點(diǎn)、歷史節(jié)點(diǎn)、Broker節(jié)點(diǎn)、Coordinator節(jié)點(diǎn)、使用基于JSON查詢語(yǔ)言的索引服務(wù)。 了解詳情
7.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ù)起源跟蹤。通過開發(fā)自定義組件,還可輕松對(duì)其進(jìn)行擴(kuò)展。
圖7 Apache NiFi
Apache NiFi的運(yùn)轉(zhuǎn)離不開諸如FlowFile、Processor,以及Connection等概念。
8.LinkedIn WhereHows:
WhereHows提供帶元數(shù)據(jù)搜索的企業(yè)編錄(Ent
ERPrise catalog),可以讓您了解數(shù)據(jù)存儲(chǔ)在哪里,是如何保存到那里的。該工具可提供協(xié)作、數(shù)據(jù)血統(tǒng)分析等功能,并可連接至多種數(shù)據(jù)源和提取、加載和轉(zhuǎn)換(ETL)工具。
圖8 LinkedIn WhereHows
該工具為數(shù)據(jù)發(fā)現(xiàn)提供了Web界面,支持API的后端服務(wù)器負(fù)責(zé)控制元數(shù)據(jù)的爬網(wǎng)(Crawling)以及與其他系統(tǒng)的集成。
9.Microsoft Cognitive Services:
該技術(shù)源自Project Oxford和Bing,提供了22種認(rèn)知計(jì)算API,主要分類包括:視覺、語(yǔ)音、語(yǔ)言、知識(shí),以及搜索。該技術(shù)已集成于Cortana Intelligence Suite。
圖9 Microsoft Cognitive Services
這是一種開源技術(shù),提供了22種不同的認(rèn)知計(jì)算REST API,并為開發(fā)者提供了適用于Windows、IOS、Android以及Python的SDK。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:除Hadoop大數(shù)據(jù)技術(shù)外,還需了解的九大技術(shù)
本文網(wǎng)址:http://www.ezxoed.cn/html/support/11121519333.html