精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

從Hadoop到Spark和Flink,大數(shù)據(jù)處理框架十年激蕩發(fā)展史

大數(shù)據(jù) Hadoop Spark
本文將從大數(shù)據(jù)的基礎(chǔ)特性開始,進(jìn)而解釋分而治之的處理思想,最后介紹一些流行的大數(shù)據(jù)技術(shù)和組件,讀者能夠通過本文了解大數(shù)據(jù)的概念、處理方法和流行技術(shù)。

當(dāng)前這個(gè)數(shù)據(jù)時(shí)代,各領(lǐng)域各業(yè)務(wù)場景時(shí)時(shí)刻刻都有大量的數(shù)據(jù)產(chǎn)生,如何理解大數(shù)據(jù),對(duì)這些數(shù)據(jù)進(jìn)行有效的處理成為很多企業(yè)和研究機(jī)構(gòu)所面臨的問題。本文將從大數(shù)據(jù)的基礎(chǔ)特性開始,進(jìn)而解釋分而治之的處理思想,最后介紹一些流行的大數(shù)據(jù)技術(shù)和組件,讀者能夠通過本文了解大數(shù)據(jù)的概念、處理方法和流行技術(shù)。

什么是大數(shù)據(jù)?

大數(shù)據(jù),顧名思義,就是擁有龐大體量的數(shù)據(jù)。關(guān)于什么是大數(shù)據(jù),如何定義大數(shù)據(jù),如何使用大數(shù)據(jù)等一系列問題,不同領(lǐng)域背景的朋友理解各不相同。IBM將大數(shù)據(jù)歸納為5個(gè)V[^1],涵蓋了大數(shù)據(jù)絕大多數(shù)的特性。 

從Hadoop到Spark和Flink,大數(shù)據(jù)處理框架十年激蕩發(fā)展史

大數(shù)據(jù)的5個(gè)V 來源:IBM

  • Volume:數(shù)據(jù)量大,從TB(1,024 GB)、PB(1,024 TB)、EB(1,024 PB)、ZB(1,024 EB)甚至到Y(jié)B(1,024 ZB)。紐約證交所每天產(chǎn)生的交易數(shù)據(jù)大約在TB級(jí),瑞士日內(nèi)瓦附近的大型強(qiáng)子對(duì)撞機(jī)每年產(chǎn)生的數(shù)據(jù)約為PB級(jí),而目前全球數(shù)據(jù)總量已經(jīng)在ZB級(jí),相當(dāng)于 1,000,000 PB,也就是大家更熟悉的10億 TB?;诟笠?guī)模的數(shù)據(jù),我們可以對(duì)某個(gè)研究對(duì)象的歷史、現(xiàn)狀和未來有更加全面的了解。
  • Velocity:數(shù)據(jù)產(chǎn)生速度快,所要求的處理速度和時(shí)效性高,因?yàn)闀r(shí)間就是金錢。金融市場的交易數(shù)據(jù)必須以秒級(jí)的速度進(jìn)行處理,搜索和推薦引擎需要在分鐘級(jí)將實(shí)時(shí)新聞推送給用戶。更快的數(shù)據(jù)處理速度,讓我們基于最新的數(shù)據(jù)上做更加實(shí)時(shí)的決策。
  • Variety:數(shù)據(jù)類型繁多,包括數(shù)字、文字、圖片、視頻等不同的數(shù)據(jù)形式,也包括來自社交網(wǎng)絡(luò)、視頻網(wǎng)站、可穿戴設(shè)備以及各類傳感器的數(shù)據(jù)。數(shù)據(jù)可能是Excel里高度結(jié)構(gòu)化的數(shù)據(jù),也可能是圖片和視頻這種非結(jié)構(gòu)化的數(shù)據(jù)。
  • Veracity:數(shù)據(jù)真實(shí)性。一方面,數(shù)據(jù)并非天然具有高價(jià)值,一些異常值會(huì)被摻雜進(jìn)來,例如,統(tǒng)計(jì)偏差、人的情感影響、天氣、經(jīng)濟(jì)因素甚至謊報(bào)數(shù)據(jù)等。另一方面,數(shù)據(jù)源類型不同,數(shù)據(jù)源多樣,如何將這些多元異構(gòu)數(shù)據(jù)連接、匹配、清洗和轉(zhuǎn)化,形成具有高置信度的數(shù)據(jù)是一項(xiàng)非常有挑戰(zhàn)的工作。
  • Value:數(shù)據(jù)價(jià)值。我們研究和利用大數(shù)據(jù)的最終目的是提供更有價(jià)值的決策支持,基于以上提到的四個(gè)V,挖掘大數(shù)據(jù)的深層價(jià)值。

在數(shù)據(jù)分析領(lǐng)域,研究對(duì)象的全部被稱為總體(Population),總體包含大量的數(shù)據(jù),甚至說數(shù)據(jù)可能是無限的。比如調(diào)查15個(gè)國家的國民的誠信情況,所有國民是總體。很多情況下,我們無法保證能收集和分析總體的所有數(shù)據(jù),因此研究者一般基于研究對(duì)象的一個(gè)子集進(jìn)行數(shù)據(jù)分析。樣本(Sample)是從總體中抽取的個(gè)體,是研究對(duì)象的子集,通過對(duì)樣本的調(diào)查和分析,研究者可以推測(cè)總體的情況。在誠信調(diào)查的案例中,我們可以在每個(gè)國家抽取一部分國民作為樣本,以此推測(cè)該國國民的誠信水平。

在大數(shù)據(jù)技術(shù)成熟之前,受限于數(shù)據(jù)收集、存儲(chǔ)和分析能力,樣本數(shù)量相對(duì)較小,大數(shù)據(jù)技術(shù)的出現(xiàn)讓數(shù)據(jù)存儲(chǔ)和分析能力不再是瓶頸,研究者可以在更大規(guī)模的數(shù)據(jù)上,以更快地速度進(jìn)行數(shù)據(jù)分析。但數(shù)據(jù)并非天然有價(jià)值,如何讓數(shù)據(jù)點(diǎn)石成金非常有挑戰(zhàn)。在誠信調(diào)查中,如果我們直接詢問樣本對(duì)象:“你是否謊報(bào)了自己和家庭的資產(chǎn)以獲取更大的金融借貸額度?”十之八九,我們得不到真實(shí)的答案,但我們可以綜合多種渠道來分析該問題,比如結(jié)合樣本對(duì)象的工作經(jīng)歷、征信記錄等數(shù)據(jù)。

可見,大數(shù)據(jù)具有更大的數(shù)據(jù)量、更快的速度、更多的數(shù)據(jù)類型的特點(diǎn)。在一定的數(shù)據(jù)真實(shí)性基礎(chǔ)上,大數(shù)據(jù)技術(shù)最終為數(shù)據(jù)背后的價(jià)值服務(wù)。

隨著大數(shù)據(jù)技術(shù)的發(fā)展,數(shù)據(jù)的復(fù)雜性越來越高,有人在這5個(gè)V的基礎(chǔ)上,又提出了一些補(bǔ)充,比如增加了動(dòng)態(tài)性(Vitality),強(qiáng)調(diào)整個(gè)數(shù)據(jù)體系的動(dòng)態(tài)性;增加了可視性(Visualization),強(qiáng)調(diào)數(shù)據(jù)的顯性化展現(xiàn);增加了合法性(Validity),強(qiáng)調(diào)數(shù)據(jù)采集和應(yīng)用的合法性,特別是對(duì)于個(gè)人隱私數(shù)據(jù)的合理使用等;增加了數(shù)據(jù)在線(Online),強(qiáng)調(diào)數(shù)據(jù)永遠(yuǎn)在線,能隨時(shí)調(diào)用和計(jì)算。

分布式計(jì)算 分而治之

計(jì)算機(jī)誕生之后,一般是在單臺(tái)計(jì)算機(jī)上處理數(shù)據(jù)。大數(shù)據(jù)時(shí)代到來后,一些傳統(tǒng)的數(shù)據(jù)處理方法無法滿足大數(shù)據(jù)的處理需求,將一組計(jì)算機(jī)組織到一起形成一個(gè)集群,利用集群的力量來處理大數(shù)據(jù)的工程實(shí)踐逐漸成為主流方案。這種使用集群進(jìn)行計(jì)算的方式被稱為分布式計(jì)算,當(dāng)前幾乎所有的大數(shù)據(jù)系統(tǒng)都是在集群進(jìn)行分布式計(jì)算。 

從Hadoop到Spark和Flink,大數(shù)據(jù)處理框架十年激蕩發(fā)展史

分而治之的算法思想

分布式計(jì)算的概念聽起來很高深,其背后的思想十分樸素,即分而治之(Divide and Conquer),又被稱為分治法。分治法將一個(gè)原始問題分解為子問題,多個(gè)子問題分別在多臺(tái)機(jī)器上求解,借助必要的數(shù)據(jù)交換和合并策略,將子結(jié)果匯總即可求出最終結(jié)果。具體而言,不同的分布式計(jì)算系統(tǒng)所使用的算法和策略根據(jù)所要解決的問題各有不同,但基本上都是將計(jì)算拆分,把子問題放到多臺(tái)機(jī)器上,分而治之地計(jì)算求解。分布式計(jì)算的每臺(tái)機(jī)器(物理機(jī)或虛擬機(jī))又被稱為一個(gè)節(jié)點(diǎn)。

分布式計(jì)算在科研界已經(jīng)有很多比較成熟的方案,其中比較有名的有消息傳遞接口(Message Passing Interface,MPI)和MapReduce。

MPI

MPI是一個(gè)老牌分布式計(jì)算框架,主要解決節(jié)點(diǎn)間數(shù)據(jù)通信的問題。在前MapReduce時(shí)代,MPI是分布式計(jì)算的業(yè)界標(biāo)準(zhǔn)。MPI程序現(xiàn)在依然廣泛運(yùn)行在全球各大超級(jí)計(jì)算中心、大學(xué)、政府和軍隊(duì)下屬研究機(jī)構(gòu)中,許多物理、生物、化學(xué)、能源、航空航天等基礎(chǔ)學(xué)科的大規(guī)模分布式計(jì)算都依賴MPI。

分治法將問題切分成子問題,在不同節(jié)點(diǎn)上分而治之地求解,MPI提供了一個(gè)在多進(jìn)程多節(jié)點(diǎn)間進(jìn)行數(shù)據(jù)通信的方案,因?yàn)榻^大多數(shù)情況下,在中間計(jì)算和最終合并的過程中,需要對(duì)多個(gè)節(jié)點(diǎn)上的數(shù)據(jù)進(jìn)行交換和同步。 

從Hadoop到Spark和Flink,大數(shù)據(jù)處理框架十年激蕩發(fā)展史

MPI并行計(jì)算示意圖

MPI中最重要的兩個(gè)操作為數(shù)據(jù)發(fā)送(Send)和數(shù)據(jù)接收(Recv),Send表示將本進(jìn)程中某塊數(shù)據(jù)發(fā)送給其他進(jìn)程,Recv表示接收其他進(jìn)程的數(shù)據(jù)。上圖展示了MPI架構(gòu)在4臺(tái)服務(wù)器上并行計(jì)算的示意圖。在實(shí)際的代碼開發(fā)過程中,用戶需要自行設(shè)計(jì)分治算法,將復(fù)雜問題切分為子問題,手動(dòng)調(diào)用MPI庫,將數(shù)據(jù)發(fā)送給指定的進(jìn)程。

MPI能夠在很細(xì)的粒度上控制數(shù)據(jù)的通信,這是它的優(yōu)勢(shì),同時(shí)也是它的劣勢(shì),因?yàn)榧?xì)粒度的控制意味著從分治算法設(shè)計(jì)到數(shù)據(jù)通信到結(jié)果匯總都需要編程人員手動(dòng)控制。有經(jīng)驗(yàn)的程序員可以對(duì)程序進(jìn)行底層優(yōu)化,取得成倍的速度提升。但如果對(duì)計(jì)算機(jī)和分布式系統(tǒng)沒有太多經(jīng)驗(yàn),編碼、調(diào)試和運(yùn)行MPI程序的時(shí)間成本極高,加上數(shù)據(jù)在不同節(jié)點(diǎn)上不均衡和通信延遲等問題,一個(gè)節(jié)點(diǎn)進(jìn)程失敗將會(huì)導(dǎo)致整個(gè)程序失敗,因此,MPI對(duì)于大部分程序員來說簡直就是噩夢(mèng)。

并非所有的編程人員都能熟練掌握MPI編程,衡量一個(gè)程序的時(shí)間成本,不僅要考慮程序運(yùn)行的時(shí)間,也要考慮程序員學(xué)習(xí)、開發(fā)和調(diào)試的時(shí)間。就像C語言運(yùn)算速度極快,但是Python語言卻更受歡迎一樣,MPI雖然能提供極快的分布式計(jì)算加速,但不太接地氣。

MapReduce

為了解決分布式計(jì)算學(xué)習(xí)和使用成本高的問題,研究人員提出了更簡單易用的MapReduce編程模型[^2]。MapReduce是Google 2004年提出的一種編程范式,比起MPI將所有事情交給程序員控制不同,MapReduce編程模型只需要程序員定義兩個(gè)操作:map和reduce。 

從Hadoop到Spark和Flink,大數(shù)據(jù)處理框架十年激蕩發(fā)展史

使用MapReduce制作三明治

網(wǎng)絡(luò)上有很多MapReduce的介紹和解釋,這里我們用三明治的制作過程對(duì)MapReduce進(jìn)行了分解。假設(shè)我們需要大批量地制作三明治,三明治的每種食材可以分別單獨(dú)處理,map階段將原材料在不同的節(jié)點(diǎn)上分別進(jìn)行處理,生成一些中間食材,shuffle階段將不同的中間食材進(jìn)行組合,reduce最終將一組中間食材組合成為三明治成品??梢钥吹剑@種map + shuffle + reduce的方式就是分而治之思想的一種實(shí)現(xiàn)。

基于MapReduce編程模型,不同的團(tuán)隊(duì)分別實(shí)現(xiàn)了自己的大數(shù)據(jù)框架:Hadoop是最早的一種開源實(shí)現(xiàn),如今已經(jīng)成為大數(shù)據(jù)領(lǐng)域的業(yè)界標(biāo)桿,之后又出現(xiàn)了Spark和Flink。這些框架提供了編程接口和API,輔助程序員存儲(chǔ)、處理和分析大數(shù)據(jù)。

比起MPI,MapReduce編程模型將更多的中間過程做了封裝,程序員只需要將原始問題轉(zhuǎn)化為更高層次的API,至于原始問題如何切分為更小的子問題、中間數(shù)據(jù)如何傳輸和交換、如何將計(jì)算伸縮擴(kuò)展到多個(gè)節(jié)點(diǎn)等一系列細(xì)節(jié)問題可以交給大數(shù)據(jù)框架來解決。因此,MapReduce相對(duì)來說學(xué)習(xí)門檻更低,使用更方便,編程開發(fā)速度更快。

批處理和流處理

數(shù)據(jù)與數(shù)據(jù)流

在大數(shù)據(jù)的5V定義中我們已經(jīng)提到,數(shù)據(jù)的容量大且產(chǎn)生速度快。從時(shí)間維度上來講,數(shù)據(jù)源源不斷地產(chǎn)生,形成一個(gè)無界的數(shù)據(jù)流(Unbounded Stream)。例如我們每時(shí)每刻的運(yùn)動(dòng)數(shù)據(jù)都會(huì)累積到手機(jī)傳感器上,金融交易隨時(shí)隨地發(fā)生著,傳感器會(huì)持續(xù)監(jiān)控并生成數(shù)據(jù)。數(shù)據(jù)流中的某段有界數(shù)據(jù)流(Bounded Stream)可以組成一個(gè)數(shù)據(jù)集。我們通常所說的對(duì)某份數(shù)據(jù)進(jìn)行分析,指的是對(duì)某個(gè)數(shù)據(jù)集進(jìn)行分析。隨著數(shù)據(jù)的產(chǎn)生速度越來越快,數(shù)據(jù)源越來越多,人們對(duì)時(shí)效性的重視程度越來越高,如何處理數(shù)據(jù)流成了大家更為關(guān)注的問題。 

從Hadoop到Spark和Flink,大數(shù)據(jù)處理框架十年激蕩發(fā)展史

 數(shù)據(jù)與數(shù)據(jù)流

批處理

批處理(Batch Processing)是對(duì)一批數(shù)據(jù)進(jìn)行處理。我們身邊批量計(jì)算比比皆是,最簡單的批量計(jì)算例子有:微信運(yùn)動(dòng)每天晚上有一個(gè)批量任務(wù),把用戶好友一天所走的步數(shù)統(tǒng)計(jì)一遍,生成排序結(jié)果后推送給用戶;銀行信用卡中心每月賬單日有一個(gè)批量任務(wù),把一個(gè)月的消費(fèi)總額統(tǒng)計(jì)一次,生成用戶月度賬單;國家統(tǒng)計(jì)局每季度對(duì)經(jīng)濟(jì)數(shù)據(jù)做一次統(tǒng)計(jì),公布季度GDP增速??梢?,批量任務(wù)一般是對(duì)一段時(shí)間的數(shù)據(jù)聚合后進(jìn)行處理。對(duì)于數(shù)據(jù)量龐大的應(yīng)用,如微信運(yùn)動(dòng)、銀行信用卡等情景,一段時(shí)間內(nèi)積累的數(shù)據(jù)總量非常大,計(jì)算非常耗時(shí)。

批量計(jì)算的歷史可以追溯的計(jì)算機(jī)剛剛起步的上世紀(jì)60年代,當(dāng)前應(yīng)用最為廣泛的當(dāng)屬數(shù)據(jù)倉庫的ETL(Extract Transform Load)數(shù)據(jù)轉(zhuǎn)化工作,如以O(shè)racle為代表的商業(yè)數(shù)據(jù)倉庫和以Hadoop/Spark為代表的開源數(shù)據(jù)倉庫。

流處理

如前文所說,數(shù)據(jù)其實(shí)是以流(Stream)的方式持續(xù)不斷地產(chǎn)生著,流處理(Stream Processing)就是對(duì)數(shù)據(jù)流進(jìn)行處理。時(shí)間就是金錢,對(duì)數(shù)據(jù)流進(jìn)行分析和處理,獲取實(shí)時(shí)數(shù)據(jù)價(jià)值越發(fā)重要。個(gè)人用戶每晚看一次微信運(yùn)動(dòng)排名覺得是一個(gè)比較舒適的節(jié)奏,但是對(duì)于金融界來說,時(shí)間是以百萬、千萬甚至上億為單位的金錢!雙十一電商大促銷,管理者要以秒級(jí)的響應(yīng)時(shí)間查看實(shí)時(shí)銷售業(yè)績、庫存信息以及與競品的對(duì)比結(jié)果,以爭取更多的決策時(shí)間;股票交易要以毫秒級(jí)的速度來對(duì)新信息做出響應(yīng);風(fēng)險(xiǎn)控制要對(duì)每一份欺詐交易迅速做出處理,以減少不必要的損失;網(wǎng)絡(luò)運(yùn)營商要以極快速度發(fā)現(xiàn)網(wǎng)絡(luò)和數(shù)據(jù)中心的故障等等。以上這些場景,一旦出現(xiàn)故障,造成了服務(wù)的延遲,損失都難以估量,因此,響應(yīng)速度越快,越能減少損失,增加收入。而IoT物聯(lián)網(wǎng)和5G通信的興起將為數(shù)據(jù)生成提供更完美的底層技術(shù)基礎(chǔ),海量的數(shù)據(jù)在IoT設(shè)備上采集生成,并通過更高速的5G通道傳輸?shù)椒?wù)器,更龐大的實(shí)時(shí)數(shù)據(jù)流將洶涌而至,流式處理的需求肯定會(huì)爆炸式增長。

代表性大數(shù)據(jù)技術(shù)

如前文所述,MapReduce編程模型的提出為大數(shù)據(jù)分析和處理開創(chuàng)了一條先河,之后陸續(xù)涌現(xiàn)出了Hadoop、Spark和Flink等大數(shù)據(jù)框架。

Hadoop

2004年,Hadoop的創(chuàng)始人受MapReduce編程模型等一系列論文的啟發(fā),對(duì)論文中提及的思想進(jìn)行了編程實(shí)現(xiàn)。Hadoop的名字來源于創(chuàng)始人Doug Cutting兒子的玩具大象。由于創(chuàng)始人Doug Cutting當(dāng)時(shí)加入了雅虎,并在此期間支持了大量Hadoop的研發(fā)工作,因此Hadoop也經(jīng)常被認(rèn)為是雅虎開源的一款大數(shù)據(jù)框架。時(shí)至今日,Hadoop不僅僅是整個(gè)大數(shù)據(jù)領(lǐng)域的先行者和領(lǐng)導(dǎo)者,更形成了一套圍繞Hadoop的生態(tài)系統(tǒng),Hadoop和它的生態(tài)是絕大多數(shù)企業(yè)首選的大數(shù)據(jù)解決方案。 

從Hadoop到Spark和Flink,大數(shù)據(jù)處理框架十年激蕩發(fā)展史

Hadoop生態(tài)

盡管Hadoop生態(tài)中的組件眾多,其核心組件主要有三個(gè):

  • Hadoop MapReduce:Hadoop版本的MapReduce編程模型,可以處理海量數(shù)據(jù),主要面向批處理。
  • HDFS:HDFS全稱為Hadoop Distributed File System,是Hadoop提供的分布式文件系統(tǒng),有很好的擴(kuò)展性和容錯(cuò)性。
  • YARN:YARN是Yet Another Resource Negotiator的縮寫,是Hadoop生態(tài)系統(tǒng)中的資源調(diào)度器,可以管理一個(gè)Hadoop集群,并為各種類型的大數(shù)據(jù)任務(wù)分配計(jì)算資源。

這三大組件中,數(shù)據(jù)存儲(chǔ)在HDFS上,由MapReduce負(fù)責(zé)計(jì)算,YARN負(fù)責(zé)集群的資源管理。除了三大核心組件,Hadoop生態(tài)圈還有很多其他著名的組件:

  • Hive:借助Hive,用戶可以編寫SQL語句來查詢HDFS上的結(jié)構(gòu)化數(shù)據(jù),SQL會(huì)被轉(zhuǎn)化成MapReduce執(zhí)行。
  • HBase:HDFS上的數(shù)據(jù)量非常龐大,但訪問和查詢速度比較慢,HBase可以提供給用戶毫秒級(jí)的實(shí)時(shí)查詢服務(wù),是一個(gè)基于HDFS的分布式數(shù)據(jù)庫。
  • Storm:Strom是一款實(shí)時(shí)計(jì)算框架,主要負(fù)責(zé)流處理。
  • Zookeeper:Hadoop生態(tài)圈很多組件使用動(dòng)物來命名,形成了一個(gè)大型動(dòng)物園,Zookeeper是這個(gè)動(dòng)物園的管理者,主要負(fù)責(zé)分布式環(huán)境的協(xié)調(diào)。

Spark

Spark于2009年誕生于加州大學(xué)伯克利分校,2013年被捐獻(xiàn)給Apache基金會(huì)。Spark是一款大數(shù)據(jù)計(jì)算框架,其初衷是改良Hadoop MapReduce的編程模型和執(zhí)行速度。與Hadoop相比,Spark的改進(jìn)主要有兩點(diǎn):

  • 易用性:比起MPI,MapReduce模型更友好,但仍然不夠方便,因?yàn)椴⒉皇撬杏?jì)算任務(wù)都可以簡單拆分成map和reduce,有可能為了解決一個(gè)問題,要設(shè)計(jì)多個(gè)MapReduce任務(wù),任務(wù)之間相互依賴,整個(gè)程序非常復(fù)雜,導(dǎo)致代碼的可讀性差。Spark提供更加方便易用的接口,提供Java、Scala、Python和R幾種語言的API,支持SQL、機(jī)器學(xué)習(xí)和圖計(jì)算,覆蓋了絕大多數(shù)大數(shù)據(jù)計(jì)算的場景。
  • 速度快:Hadoop的map和reduce之間的中間結(jié)果都需要落地到磁盤上,而Spark盡量將大部分計(jì)算放在內(nèi)存中,加上Spark的有向無環(huán)圖優(yōu)化,在官方的基準(zhǔn)測(cè)試中,Spark比Hadoop快一百倍以上。 
從Hadoop到Spark和Flink,大數(shù)據(jù)處理框架十年激蕩發(fā)展史

Spark生態(tài)

Spark的核心在于計(jì)算,主要目的在于優(yōu)化Hadoop MapReduce計(jì)算部分,在計(jì)算層面提供更細(xì)致的服務(wù),比如提供了常用幾種數(shù)據(jù)科學(xué)語言的API,提供了SQL、機(jī)器學(xué)習(xí)和圖計(jì)算支持,這些服務(wù)都是最終面向計(jì)算的。Spark并不能完全取代Hadoop,實(shí)際上,Spark融入到了Hadoop生態(tài)圈,成為其中的重要一元。一個(gè)Spark任務(wù)很可能依賴HDFS上的數(shù)據(jù),向YARN來申請(qǐng)計(jì)算資源,將HBase作為輸出結(jié)果的目的地。當(dāng)然,Spark也可以不用依賴這些Hadoop組件,獨(dú)立地完成計(jì)算。

從Hadoop到Spark和Flink,大數(shù)據(jù)處理框架十年激蕩發(fā)展史

 Spark Streaming數(shù)據(jù)流示意圖

Spark主要面向批處理需求,因其優(yōu)異的性能和易用的接口,Spark已經(jīng)是批處理界絕對(duì)的王者。Spark Streaming提供了流處理的功能,它的流處理主要基于mini-batch的思想,即將輸入數(shù)據(jù)流拆分成多個(gè)批次,每個(gè)批次使用批處理的方式進(jìn)行計(jì)算。因此,Spark是一款批量和流式于一體的計(jì)算框架。

Flink

Flink是由德國幾所大學(xué)發(fā)起的的學(xué)術(shù)項(xiàng)目,后來不斷發(fā)展壯大,并于2014年末成為Apache頂級(jí)項(xiàng)目。Flink主要面向流處理,如果說Spark是批處理界的王者,那么Flink就是流處理領(lǐng)域的冉冉升起的新星。在Flink之前,不乏流式處理引擎,比較著名的有Storm、Spark Streaming,但某些特性遠(yuǎn)不如Flink。 

從Hadoop到Spark和Flink,大數(shù)據(jù)處理框架十年激蕩發(fā)展史

流處理框架演進(jìn)史

第一代被廣泛采用的流處理框架是Strom。在多項(xiàng)基準(zhǔn)測(cè)試中,Storm的數(shù)據(jù)吞吐量和延遲都遠(yuǎn)遜于Flink。Storm只支持"at least once"和"at most once",即數(shù)據(jù)流里的事件投遞只能保證至少一次或至多一次,不能保證只有一次。對(duì)于很多對(duì)數(shù)據(jù)準(zhǔn)確性要求較高的應(yīng)用,Storm有一定劣勢(shì)。第二代非常流行的流處理框架是Spark Streaming。Spark Streaming使用mini-batch的思想,每次處理一小批數(shù)據(jù),一小批數(shù)據(jù)包含多個(gè)事件,以接近實(shí)時(shí)處理的效果。因?yàn)樗看斡?jì)算一小批數(shù)據(jù),因此總有一些延遲。但Spark Streaming的優(yōu)勢(shì)是擁有Spark這個(gè)靠山,用戶從Spark遷移到Spark Streaming的成本較低,因此能給用戶提供一個(gè)批量和流式于一體的計(jì)算框架。

Flink是與上述兩代框架都不太一樣的新一代計(jì)算框架,它是一個(gè)支持在有界和無界數(shù)據(jù)流上做有狀態(tài)計(jì)算的大數(shù)據(jù)引擎。它以事件為單位,并且支持SQL、State、WaterMark等特性。它支持"exactly once",即事件投遞保證只有一次,不多也不少,這樣數(shù)據(jù)的準(zhǔn)確性能得到提升。比起Storm,它的吞吐量更高,延遲更低,準(zhǔn)確性能得到保障;比起Spark Streaming,它以事件為單位,達(dá)到真正意義上的實(shí)時(shí)計(jì)算,且所需計(jì)算資源相對(duì)更少。

之前提到,數(shù)據(jù)都是以流的形式產(chǎn)生的。數(shù)據(jù)可以分為有界(bounded)和無界(unbounded),批量處理其實(shí)就是一個(gè)有界的數(shù)據(jù)流,是流處理的一個(gè)特例。Flink基于這種思想,逐步發(fā)展成一個(gè)可支持流式和批量處理的大數(shù)據(jù)框架。

經(jīng)過幾年的發(fā)展,F(xiàn)link的API已經(jīng)非常完善,可以支持Java、Scala和Python,并且支持SQL。Flink的Scala版API與Spark非常相似,有Spark經(jīng)驗(yàn)的程序員可以用一個(gè)小時(shí)的時(shí)間熟悉Flink API。

與Spark類似,F(xiàn)link目前主要面向計(jì)算,并且可以與Hadoop生態(tài)高度集成。Spark和Flink各有所長,也在相互借鑒,一邊競爭,一邊學(xué)習(xí),究竟最終誰能一統(tǒng)江湖,我們拭目以待。

小結(jié)

大數(shù)據(jù)一般基于分而治之的思想,分布式地進(jìn)行計(jì)算。經(jīng)過十幾年的發(fā)展,大數(shù)據(jù)生態(tài)圈涌現(xiàn)出一大批優(yōu)秀的組件和框架,這些組件對(duì)一些底層技術(shù)做了封裝,提供給程序員簡單易用的API接口。在大數(shù)據(jù)分析和處理領(lǐng)域,Hadoop已經(jīng)發(fā)展成為一個(gè)非常成熟的生態(tài)圈,涵蓋了很多大數(shù)據(jù)相關(guān)的基礎(chǔ)服務(wù),Spark和Flink主要針對(duì)大數(shù)據(jù)計(jì)算,分別在批處理和流處理方向建立了自己的優(yōu)勢(shì)。

 

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2017-06-22 13:26:37

人工智能發(fā)展歷史大數(shù)據(jù)

2022-05-27 17:10:51

知識(shí)圖譜谷歌

2022-07-06 10:56:51

數(shù)據(jù)湖架構(gòu)

2024-11-26 18:05:02

2009-11-13 05:30:38

PowerIBM

2012-10-18 14:51:10

數(shù)據(jù)中心發(fā)展

2021-10-14 11:08:17

大數(shù)據(jù)框架內(nèi)存

2018-11-06 12:58:43

大數(shù)據(jù)人工智能搜索引擎

2017-02-14 13:11:23

HadoopStormSamza

2011-11-28 14:43:10

微處理器

2024-01-19 08:04:13

2023-10-23 16:34:37

Elasticsea深度學(xué)習(xí)

2018-01-22 08:33:28

SparkHadoop計(jì)算

2018-07-25 15:31:51

SparkFlink大數(shù)據(jù)

2017-06-30 15:37:05

互聯(lián)網(wǎng)架構(gòu)金融

2017-01-12 16:25:41

互聯(lián)網(wǎng)金融架構(gòu)

2021-12-14 09:56:51

HadoopSparkKafka

2011-08-23 10:49:44

算法

2016-10-10 22:11:02

2021-07-20 15:37:37

數(shù)據(jù)開發(fā)大數(shù)據(jù)Spark
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产乱国产乱老熟300| 偷拍盗摄高潮叫床对白清晰| 久久精品国产亚洲AV无码男同 | 久久九九国产精品怡红院| 午夜免费高清视频| 日韩黄色影院| 国产精品18久久久久久久久 | 国内爆初菊对白视频| 在线高清一区| 亚洲人高潮女人毛茸茸| 在线观看免费污视频| 超碰在线最新| 972aa.com艺术欧美| 欧美在线播放视频| 精品在线观看一区| 亚洲超碰在线观看| 欧美特黄级在线| 欧美日本亚洲| 国产欧美日韩成人| 一本色道88久久加勒比精品| 亚洲人成毛片在线播放| 国产成人美女视频| 成av人片在线观看www| 国产欧美日韩精品在线| 91精品国产高清久久久久久91裸体 | 青青草观看免费视频在线| 美女一区二区三区| 国内精品小视频在线观看| 三上悠亚ssⅰn939无码播放| 成人在线免费电影网站| 亚洲免费观看高清完整版在线观看| 2019国产精品视频| 日韩免费av网站| 午夜精品久久99蜜桃的功能介绍| 亚洲免费av网址| 国产精品久久久久野外| 99只有精品| 午夜亚洲国产au精品一区二区| 亚洲免费视频一区| 外国精品视频在线观看| 免费成人在线观看视频| 91精品国产高清自在线看超| 91香蕉一区二区三区在线观看 | 国产视频精品网| 亚洲视频在线免费播放| 在线一区免费观看| 欧美黑人巨大xxx极品| 欧美激情视频二区| 欧洲亚洲视频| 精品久久国产字幕高潮| av噜噜在线观看| 亚洲天堂av影院| 一个色综合av| 秋霞在线一区二区| 99riav在线| 久久久www免费人成精品| 成人免费视频视频在| 国产精品伊人久久| 免费成人在线网站| 国产精品成久久久久三级| 久久中文字幕在线观看| 日韩中文在线电影| 在线午夜精品自拍| 91网站免费视频| 日韩av网站在线免费观看| 亚洲国产成人av在线| 中文字幕1区2区| 亚洲一区二区免费在线观看| 欧美精品第1页| 亚洲一级免费观看| 国产成人亚洲一区二区三区| 日本高清成人免费播放| www黄色av| 超级碰碰久久| 一本久久精品一区二区| 精品人妻一区二区三区四区在线 | 国产第一页在线观看| 亚洲欧美日韩一区在线观看| 欧美最猛性xxxx| 天堂在线免费观看视频| 国产精品久久久久久久久久妞妞| 国内免费久久久久久久久久久| 精品99久久久久成人网站免费| 欧美a级片视频| 中文字幕欧美视频在线| 制服丨自拍丨欧美丨动漫丨| 国产精品久久久久蜜臀| 久久国产精品网站| 精品无码人妻一区二区三| 极品尤物久久久av免费看| 国内精品小视频在线观看| 日韩av大片在线观看| 9国产精品视频| 日本精品久久久| 国产免费一级视频| 麻豆国产欧美日韩综合精品二区| 成人国产精品久久久| 亚洲国产www| 99久久国产综合精品麻豆| 欧美日韩一区综合| 亚洲乱亚洲乱妇| 亚洲品质自拍视频网站| 国产精品第157页| 亚洲小少妇裸体bbw| 在线观看视频欧美| www.成人黄色| 免费萌白酱国产一区二区三区| 亚洲毛片一区二区| 男女全黄做爰文章| 国产综合网站| 午夜精品视频在线| 在线观看国产一区二区三区| 国产精品一卡二卡| 欧美一区亚洲二区| 2024短剧网剧在线观看| 欧美日韩国产精品专区 | 欧美在线a视频| 玖玖玖免费嫩草在线影院一区| 亚洲网站在线观看| 欧美成人精品欧美一级私黄| 欧美一级播放| 亚洲一区二区三区sesese| 天天干天天插天天操| 国产精品久久久久久久久免费相片 | 亚洲高清一区二| 殴美一级黄色片| 亚洲深夜福利| 亚洲a级在线观看| 黄色片视频在线观看| 一区二区三区中文在线观看| 久久午夜夜伦鲁鲁一区二区| 亚洲综合网狠久久| 色婷婷av一区二区三区久久| 亚洲国产综合久久| 久久9热精品视频| 久热国产精品视频一区二区三区| 青青草在线免费观看| 亚洲午夜免费电影| 激情在线观看视频| 欧美影院三区| 欧美一二三视频| 亚洲av少妇一区二区在线观看| 国产日产欧美一区| 久久久亚洲精品无码| 国产精品视频一区二区三区| 在线观看欧美www| 99热国产在线观看| 国产精品99久久久久久似苏梦涵 | yellow中文字幕久久| aaaaaa毛片| av成人免费在线| 91免费版看片| 亚洲国产91视频| 中文字幕国内精品| 国产精品第六页| 91在线视频官网| 国产av人人夜夜澡人人爽麻豆| 国产精品亚洲综合在线观看| 久久激情视频免费观看| 波多野结衣视频在线观看| 成人精品国产福利| 国产高清www| 视频精品二区| 欧美久久精品一级黑人c片| 国产偷人爽久久久久久老妇app| 久久久亚洲综合| 99爱视频在线| 亚洲自拍电影| 国产99久久精品一区二区 夜夜躁日日躁| 刘亦菲久久免费一区二区| 一区二区视频在线| 亚洲美女高潮久久久| 欧美激情综合| 成人国产1314www色视频| a级网站在线播放| 欧美日韩精品综合在线| 又色又爽的视频| 久久精品噜噜噜成人av农村| 一区二区三区在线观看www| 亚洲国产精选| 欧美精品一区在线播放| 国产成人手机在线| 亚洲超碰精品一区二区| 国产人妻黑人一区二区三区| 日韩午夜免费视频| 免费av一区二区三区| 欧美一区久久久| 最好看的2019年中文视频| 天堂网视频在线| 国产精品免费视频一区| 午夜影院免费版| av不卡在线看| 亚洲高清不卡一区| 国产一区二区三区免费在线 | 青青青国内视频在线观看软件| 欧美一区二区三区视频在线| 国产小视频在线看| 久久综合成人精品亚洲另类欧美| 亚欧在线免费观看| 日本一区二区在线看| 国产精品女人久久久久久| 高h视频在线观看| 日韩av在线影院| 欧美超碰在线观看| 亚洲欧美一区二区三区极速播放| 国产精品99精品无码视亚| 亚洲一区二区三区高清不卡| 亚洲一卡二卡区| 懂色av一区二区| 国产精品美女www爽爽爽视频| av毛片在线免费看| 亚洲老板91色精品久久| 97精品人妻一区二区三区在线| 一区二区三区日韩精品视频| 亚洲观看黄色网| 日韩国产在线一| 在线丝袜欧美日韩制服| 国产精品欧美大片| 国产精品视频公开费视频| 日韩激情av| 中文一区二区视频| 欧美77777| 欧美日韩国产免费一区二区| 国产在线观看你懂的| 亚洲国产高清不卡| 久久福利小视频| 精品一区二区久久久| 草草久久久无码国产专区| 亚洲一区二区三区| 日韩三级电影免费观看| silk一区二区三区精品视频| 国产精品高潮呻吟久久av野狼| 日韩欧美一起| 日韩在线观看免费高清| 免费毛片在线| 亚洲国产精品免费| av一区二区三| 欧美日韩一区二区三区在线看| 中文字幕在线观看免费视频| 亚洲素人一区二区| 性爱在线免费视频| 久久色.com| 一本加勒比波多野结衣| 国产成人精品影院| 一级黄色免费毛片| 精品一区二区三区日韩| 爆乳熟妇一区二区三区霸乳| 国产精品美女久久久| 高清无码视频直接看| 久久久久久久久国产一区| 欧美亚洲另类在线一区二区三区| 日韩精品一区二区三区中文| 国产在线播放91| 日韩在线观看不卡| 国产a∨精品一区二区三区不卡| 女人高潮被爽到呻吟在线观看| 欧美成人手机在线| 麻豆电影在线播放| 久久黄色av网站| 黄色网在线免费观看| 精品国产欧美一区二区五十路 | av不卡一区二区三区| 精品少妇人妻av一区二区三区| 成人做爰69片免费看网站| 日本一本在线视频| 国产精品一二一区| 国产香蕉精品视频| www.色精品| 欧美在线一级片| 91美女蜜桃在线| 在线不卡av电影| 欧美国产激情二区三区| av永久免费观看| 久久久精品国产99久久精品芒果| 熟妇人妻久久中文字幕| 不卡一区二区三区四区| 国产白袜脚足j棉袜在线观看| 成人的网站免费观看| 久久人妻少妇嫩草av无码专区| aaa亚洲精品| 美女久久久久久久久久| 国产喷白浆一区二区三区| 国产精品成人在线视频| 亚洲色图.com| 久久久综合久久| 欧美日韩激情美女| 国产三级av片| 欧美色中文字幕| 国产乱码精品一区二区| 91精品国产日韩91久久久久久| 成人高潮片免费视频| 日韩电影大全免费观看2023年上| 黄色片在线免费看| 久久影院模特热| brazzers在线观看| 国产福利视频一区二区| 久久av影院| 国产精品对白一区二区三区| 亚洲传媒在线| 男人的天堂成人| 亚洲精品社区| av黄色在线网站| 男人天堂欧美日韩| 亚洲精品综合在线观看| 成人激情黄色小说| 免费看黄色三级| 亚洲伊人色欲综合网| 日本中文字幕在线| 91麻豆精品国产无毒不卡在线观看| 亚洲精品国产av| 亚洲视频在线视频| 日本天码aⅴ片在线电影网站| 88国产精品欧美一区二区三区| 国产精品亲子伦av一区二区三区| 99久热re在线精品视频| 老汉色老汉首页av亚洲| 一区二区三区国| 99国产精品| 中文字幕亚洲影院| 久久免费看少妇高潮| 久久国产波多野结衣| 欧美日韩激情美女| www.看毛片| 中文字幕在线亚洲| 日韩伦理福利| av在线不卡一区| 日韩影院二区| av日韩一区二区三区| 蜜臀久久99精品久久久画质超高清 | 少妇视频一区二区| 欧美日韩国产页| 性生交生活影碟片| www.日韩欧美| 日韩av超清在线观看| 精品视频高清无人区区二区三区| 国产高清一区二区| 国产69精品久久久久999小说| 国产做a爰片久久毛片| 亚洲图片另类小说| 欧美日韩国产精品专区| 国产综合无码一区二区色蜜蜜| 俺也去精品视频在线观看| 成人免费av电影| 久久精品一区二区三区不卡免费视频| 欧美成人有码| 久久精品久久99| 国产精品久久久久国产精品日日| 久久久久久久久久久久久久免费看 | 欧美一区二区三区红桃小说| 可以免费看的黄色网址| 日本女人一区二区三区| 精品人妻一区二区三区香蕉 | 日韩免费性生活视频播放| 在线免费看a| 国产激情视频一区| 网友自拍区视频精品| 国产av人人夜夜澡人人爽麻豆 | 一区二区在线免费观看视频| 在线成人av影院| 日韩久久不卡| 99亚洲精品| 国产精品无码电影| 亚洲国产成人av| 五月激情婷婷综合| 国产99久久精品一区二区| 久久93精品国产91久久综合| 国产精品天天av精麻传媒| 国产三级欧美三级| 91亚洲精品国偷拍自产在线观看 | 福利一区二区三区视频在线观看| 欧美日韩国产精品一区二区| 丝袜美腿亚洲色图| 自拍偷拍第9页| 欧美tk—视频vk| 在线观看欧美日韩电影| 视频在线精品一区| 国产美女在线观看一区| 中文字幕一区二区三区手机版| 日韩精品免费电影| 91在线亚洲| 男人天堂新网址| 久久亚洲一区二区三区四区| 国产一级精品毛片| 欧美另类高清videos| 日韩有码一区| 亚洲天堂2018av| 午夜私人影院久久久久| 高清日韩av电影| 97久久精品午夜一区二区| 国产精品永久| 手机在线中文字幕| 亚洲国产精品久久久久秋霞蜜臀| 99欧美精品| 人妻夜夜添夜夜无码av| 国产欧美精品一区二区色综合朱莉| av 一区二区三区| 国产mv免费观看入口亚洲| 国产精品成人一区二区网站软件| mm131丰满少妇人体欣赏图| 欧美一区二区三区在线观看视频|