版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
其他數(shù)據(jù)處理框架目錄/Contents01Hadoop02Storm03Flink04BeamHadoop01HadoopHadoop是一個(gè)由Apache基金會(huì)所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu),是一個(gè)存儲(chǔ)系統(tǒng)+計(jì)算框架的軟件框架。主要解決海量數(shù)據(jù)存儲(chǔ)與計(jì)算的問題,是大數(shù)據(jù)技術(shù)中的基石。Hadoop以一種可靠、高效、可伸縮的方式進(jìn)行數(shù)據(jù)處理,用戶可以在不了解分布式底層細(xì)節(jié)的情況下,開發(fā)分布式程序,用戶可以輕松地在Hadoop上開發(fā)和運(yùn)行處理海量數(shù)據(jù)的應(yīng)用程序。Hadoop的核心是HDFS和MapReduce、YARN。HadoopDHDFS是一個(gè)高度容錯(cuò)性的系統(tǒng),能檢測(cè)和應(yīng)對(duì)硬件故障,適合部署在廉價(jià)的機(jī)器上HDFS采用master/slave架構(gòu)。一個(gè)HDFS集群是由一個(gè)Namenode和一定數(shù)目的Datanodes組成。EMapReduce是一個(gè)基于java的并行分布式計(jì)算框架,使用它來編寫的數(shù)據(jù)處理應(yīng)用可以運(yùn)行在大型的商用硬件集群上來處理大型數(shù)據(jù)集中的可并行化問題,數(shù)據(jù)處理可以發(fā)生在存儲(chǔ)在文件系統(tǒng)(非結(jié)構(gòu)化)或數(shù)據(jù)庫(結(jié)構(gòu)化)中的數(shù)據(jù)上。FApacheHadoopYARN是開源Hadoop分布式處理框架中的資源管理和作業(yè)調(diào)度技術(shù)。作為ApacheHadoop的核心組件之一,YARN負(fù)責(zé)將系統(tǒng)資源分配給在Hadoop集群中運(yùn)行的各種應(yīng)用程序,并調(diào)度要在不同集群節(jié)點(diǎn)上執(zhí)行的任務(wù)。(1)HDFS(2)
MapReduce(3)
YARNStorm02Storm簡單的編程模型:類似于MapReduce降低了并行批處理復(fù)雜性,Storm降低了實(shí)時(shí)處理的復(fù)雜性,只需實(shí)現(xiàn)幾個(gè)接口即可(Spout實(shí)現(xiàn)ISpout接口,Bolt實(shí)現(xiàn)IBolt接口)。支持多種語言:你可以在Storm之上使用各種編程語言。默認(rèn)支持Clojure、Java、Ruby和Python。要增加對(duì)其他語言的支持,只需實(shí)現(xiàn)一個(gè)簡單的Storm通信協(xié)議即可。容錯(cuò)性:nimbus、supervisor都是無狀態(tài)的,可以用kill-9來殺死Nimbus和Supervisor進(jìn)程,然后再重啟它們,任務(wù)照常進(jìn)行;當(dāng)worker失敗后,supervisor會(huì)嘗試在本機(jī)重啟它。分布式:計(jì)算是在多個(gè)線程、進(jìn)程和服務(wù)器之間并行進(jìn)行的。持久性、可靠性:消息被持久化到本地磁盤,并且支持?jǐn)?shù)據(jù)備份防止數(shù)據(jù)丟失??煽康南⑻幚恚篠torm保證每個(gè)消息至少能得到一次完整處理。任務(wù)失敗時(shí),它會(huì)負(fù)責(zé)從消息源重試消息(ack機(jī)制)??焖佟?shí)時(shí):Storm保證每個(gè)消息能能得到快速的處理。StormStorm的核心組件Nimbus:即Storm的Master,負(fù)責(zé)資源分配和任務(wù)調(diào)度。一個(gè)Storm集群只有一個(gè)Nimbus。Supervisor:即Storm的Slave,負(fù)責(zé)接收Nimbus分配的任務(wù),管理所有Worker,一個(gè)Supervisor節(jié)點(diǎn)中包含多個(gè)Worker進(jìn)程。Worker:工作進(jìn)程,每個(gè)工作進(jìn)程中都有多個(gè)Task。Task:任務(wù),在Storm集群中每個(gè)Spout和Bolt都由若干個(gè)任務(wù)(tasks)來執(zhí)行。每個(gè)任務(wù)都與一個(gè)執(zhí)行線程相對(duì)應(yīng)。Topology:計(jì)算拓?fù)?,Storm的拓?fù)涫菍?duì)實(shí)時(shí)計(jì)算應(yīng)用邏輯的封裝,它的作用與MapReduce的任務(wù)(Job)很相似,區(qū)別在于MapReduce的一個(gè)Job在得到結(jié)果之后總會(huì)結(jié)束,而拓?fù)鋾?huì)一直在集群中運(yùn)行,直到你手動(dòng)去終止它。Stream:數(shù)據(jù)流(Streams)是Storm中最核心的抽象概念。一個(gè)數(shù)據(jù)流指的是在分布式環(huán)境中并行創(chuàng)建、處理的一組元組(tuple)的無界序列。StormStorm的核心組件Spout:數(shù)據(jù)源(Spout)是拓?fù)渲袛?shù)據(jù)流的來源。一般Spout會(huì)從一個(gè)外部的數(shù)據(jù)源讀取元組然后將他們發(fā)送到拓?fù)渲?。Bolt:拓?fù)渲兴械臄?shù)據(jù)處理均是由Bolt完成的。通過數(shù)據(jù)過濾(filtering)、函數(shù)處理(functions)、聚合(aggregations)、聯(lián)結(jié)(joins)、數(shù)據(jù)庫交互等功能,Bolt幾乎能夠完成任何一種數(shù)據(jù)處理需求。Streamgrouping:為拓?fù)渲械拿總€(gè)Bolt的確定輸入數(shù)據(jù)流是定義一個(gè)拓?fù)涞闹匾h(huán)節(jié)。數(shù)據(jù)流分組定義了在Bolt的不同任務(wù)(tasks)中劃分?jǐn)?shù)據(jù)流的方式。在Storm中有八種內(nèi)置的數(shù)據(jù)流分組方式。Reliability:可靠性。Storm可以通過拓?fù)鋪泶_保每個(gè)發(fā)送的元組都能得到正確處理。通過跟蹤由Spout發(fā)出的每個(gè)元組構(gòu)成的元組樹可以確定元組是否已經(jīng)完成處理。Flink03Flink1.處理無界和有界數(shù)據(jù)任何類型的數(shù)據(jù)都是作為事件流產(chǎn)生的。信用卡交易,傳感器測(cè)量,機(jī)器日志或網(wǎng)站或移動(dòng)應(yīng)用程序上的用戶交互,所有這些數(shù)據(jù)都作為流生成。2.隨處部署應(yīng)用程序ApacheFlink是一個(gè)分布式系統(tǒng),需要計(jì)算資源才能執(zhí)行應(yīng)用程序。Flink與所有常見的集群資源管理器(如HadoopYARN,ApacheMesos和Kubernetes)集成,但也可以設(shè)置為作為獨(dú)立群集運(yùn)行。3.運(yùn)行任意規(guī)模應(yīng)用Flink旨在任意規(guī)模上運(yùn)行有狀態(tài)流式應(yīng)用。因此,應(yīng)用程序被并行化為可能數(shù)千個(gè)任務(wù),這些任務(wù)分布在集群中并發(fā)執(zhí)行。所以應(yīng)用程序能夠充分利用無盡的CPU、內(nèi)存、磁盤和網(wǎng)絡(luò)IO。4.利用內(nèi)存性能有狀態(tài)的Flink程序針對(duì)本地狀態(tài)訪問進(jìn)行了優(yōu)化。任務(wù)的狀態(tài)始終保留在內(nèi)存中,如果狀態(tài)大小超過可用內(nèi)存,則會(huì)保存在能高效訪問的磁盤數(shù)據(jù)結(jié)構(gòu)中。5.Flink組件棧運(yùn)行時(shí)層以JobGraph形式接收程序。JobGraph即為一個(gè)一般化的并行數(shù)據(jù)流圖(dataflow),它擁有任意數(shù)量的Task來接收和產(chǎn)生datastream。Beam04Beam1.ApacheBeamSDKBeamSDK提供了一個(gè)統(tǒng)一的編程模型,該模型可以表示和轉(zhuǎn)換任何大小的數(shù)據(jù)集,無論輸入是來自批處理數(shù)據(jù)源的有限數(shù)據(jù)集,還是來自流數(shù)據(jù)源的無限數(shù)據(jù)集。BeamSDK使用相同的類來表示有界和無界數(shù)據(jù),并且使用相同的轉(zhuǎn)換對(duì)這些數(shù)據(jù)進(jìn)行操作。您可以使用選擇的BeamSDK來構(gòu)建定義數(shù)據(jù)處理管道的程序。Beam當(dāng)前支持以下特定于語言的SDK:①Java②Python③Go2.ApacheBeamPipelineRunnersBeamPipeline運(yùn)行器將您使用Beam程序定義的數(shù)據(jù)處理管道轉(zhuǎn)換為與您選擇的分布式處理后端兼容的API。運(yùn)行Beam程序時(shí),需要為要在其中執(zhí)行管道的后端指定適當(dāng)?shù)倪\(yùn)行程序。Beam當(dāng)前支持與以下分布
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨區(qū)域竄貨管控:穩(wěn)定市場(chǎng)價(jià)格
- 社區(qū)公益對(duì)外捐贈(zèng)管理辦法
- 空調(diào)安裝私人施工合同樣式
- 茶館通風(fēng)管道安裝工程合同
- 扶貧招投標(biāo)小組職責(zé)制定
- 勞動(dòng)法規(guī)遵守與員工培訓(xùn)效果評(píng)估
- 旅游服務(wù)行業(yè)資金流管理
- 玻璃制品履約管理辦法
- 2025公司業(yè)務(wù)用房辦公家具采購項(xiàng)目合同
- 石材貿(mào)易合同示范
- GB/T 20706-2023可可粉質(zhì)量要求
- 安全生產(chǎn)信息管理制度全
- 住宅物業(yè)危險(xiǎn)源辨識(shí)評(píng)價(jià)表
- 世界主要國家洲別、名稱、首都、代碼、區(qū)號(hào)、時(shí)差匯總表
- 2023學(xué)年廣東省廣州市越秀區(qū)鐵一中學(xué)九年級(jí)(上)物理期末試題及答案解析
- 《報(bào)告文學(xué)研究》(07562)自考考試復(fù)習(xí)題庫(含答案)
- 安全操作規(guī)程
- 電源日常點(diǎn)檢記錄表
- 人教版小學(xué)三年級(jí)語文上冊(cè)期末測(cè)試卷.及答題卡2
- 鋼軌接頭位置及接頭聯(lián)結(jié)形式
- 廚房里的小竅門
評(píng)論
0/150
提交評(píng)論