自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么說(shuō)Storm比Hadoop 快?

大數(shù)據(jù) 數(shù)據(jù)分析 Hadoop
實(shí)際流計(jì)算和批處理系統(tǒng)沒(méi)有本質(zhì)的區(qū)別,像storm的trident也有批概念,而mapreduce可以將每次運(yùn)算的數(shù)據(jù)集縮小(比如幾分鐘啟動(dòng)一次),facebook的puma就是基于hadoop做的流計(jì)算系統(tǒng)。

文 | 楊曉青  張?jiān)坡?/p>

“快”這個(gè)詞是不明確的,專業(yè)屬于點(diǎn)有兩個(gè)層面:

[[183203]]

1.時(shí)延 , 指數(shù)據(jù)從產(chǎn)生到運(yùn)算產(chǎn)生結(jié)果的時(shí)間,題主的“快”應(yīng)該主要指這個(gè)。

2. 吞吐, 指系統(tǒng)單位時(shí)間處理的數(shù)據(jù)量。

首先明確一點(diǎn),在消耗資源相同的情況下,一般來(lái)說(shuō)storm的延時(shí)低于mapreduce。但是吞吐也低于mapreduce。

storm的網(wǎng)絡(luò)直傳、內(nèi)存計(jì)算,其時(shí)延必然比hadoop的通過(guò)hdfs傳輸?shù)偷枚?當(dāng)計(jì)算模型比較適合流式時(shí),storm的流式處理,省去了批處理的收集數(shù)據(jù)的時(shí)間;因?yàn)閟torm是服務(wù)型的作業(yè),也省去了作業(yè)調(diào)度的時(shí)延。所以從時(shí)延上來(lái)看,storm要快于hadoop。

說(shuō)一個(gè)典型的場(chǎng)景,幾千個(gè)日志生產(chǎn)方產(chǎn)生日志文件,需要進(jìn)行一些ETL操作存入一個(gè)數(shù)據(jù)庫(kù)。

假設(shè)利用hadoop,則需要先存入hdfs,按每一分鐘切一個(gè)文件的粒度來(lái)算(這個(gè)粒度已經(jīng)極端的細(xì)了,再小的話hdfs上會(huì)一堆小文件),hadoop開(kāi)始計(jì)算時(shí),1分鐘已經(jīng)過(guò)去了,然后再開(kāi)始調(diào)度任務(wù)又花了一分鐘,然后作業(yè)運(yùn)行起來(lái),假設(shè)機(jī)器特別多,幾鈔鐘就算完了,然后寫(xiě)數(shù)據(jù)庫(kù)假設(shè)也花了很少的時(shí)間,這樣,從數(shù)據(jù)產(chǎn)生到***可以使用已經(jīng)過(guò)去了至少兩分多鐘。

而流式計(jì)算則是數(shù)據(jù)產(chǎn)生時(shí),則有一個(gè)程序去一直監(jiān)控日志的產(chǎn)生,產(chǎn)生一行就通過(guò)一個(gè)傳輸系統(tǒng)發(fā)給流式計(jì)算系統(tǒng),然后流式計(jì)算系統(tǒng)直接處理,處理完之后直接寫(xiě)入數(shù)據(jù)庫(kù),每條數(shù)據(jù)從產(chǎn)生到寫(xiě)入數(shù)據(jù)庫(kù),在資源充足時(shí)可以在毫秒級(jí)別完成。

當(dāng)然,跑一個(gè)大文件的wordcount,本來(lái)就是一個(gè)批處理計(jì)算的模型,你非要把它放到storm上進(jìn)行流式的處理,然后又非要讓等所有已有數(shù)據(jù)處理完才讓storm輸出結(jié)果,這時(shí)候,你再把它和hadoop比較快慢,這時(shí),其實(shí)比較的不是時(shí)延,而是比較的吞吐了。

storm是典型的流計(jì)算系統(tǒng),mapreduce是典型的批處理系統(tǒng)。下面對(duì)流計(jì)算和批處理系統(tǒng)流程。

整個(gè)數(shù)據(jù)處理流程來(lái)說(shuō)大致可以分三個(gè)階段:

1. 數(shù)據(jù)采集與準(zhǔn)備

2. 數(shù)據(jù)計(jì)算(涉及計(jì)算中的中間存儲(chǔ)), 題主中的“那些方面決定”應(yīng)該主要是指這個(gè)階段處理方式。

3. 數(shù)據(jù)結(jié)果展現(xiàn)(反饋)

1)數(shù)據(jù)采集階段,目前典型的處理處理策略:數(shù)據(jù)的產(chǎn)生系統(tǒng)一般出自頁(yè)面打點(diǎn)和解析DB的log,流計(jì)算將數(shù)據(jù)采集中消息隊(duì)列(比如kafaka,metaQ,timetunle)等。批處理系統(tǒng)一般將數(shù)據(jù)采集進(jìn)分布式文件系統(tǒng)(比如HDFS),當(dāng)然也有使用消息隊(duì)列的。我們暫且把消息隊(duì)列和文件系統(tǒng)稱為預(yù)處理存儲(chǔ)。二者在延時(shí)和吞吐上沒(méi)太大區(qū)別,接下來(lái)從這個(gè)預(yù)處理存儲(chǔ)進(jìn)入到數(shù)據(jù)計(jì)算階段有很大的區(qū)別,流計(jì)算一般在實(shí)時(shí)的讀取消息隊(duì)列進(jìn)入流計(jì)算系統(tǒng)(storm)的數(shù)據(jù)進(jìn)行運(yùn)算,批處理一系統(tǒng)一般會(huì)攢一大批后批量導(dǎo)入到計(jì)算系統(tǒng)(hadoop),這里就有了時(shí)延的區(qū)別。

2)數(shù)據(jù)計(jì)算階段,流計(jì)算系統(tǒng)(storm)的時(shí)延低主要有一下幾個(gè)方面

A: storm 進(jìn)程是常駐的,有數(shù)據(jù)就可以進(jìn)行實(shí)時(shí)的處理

mapreduce 數(shù)據(jù)攢一批后由作業(yè)管理系統(tǒng)啟動(dòng)任務(wù),Jobtracker計(jì)算任務(wù)分配,tasktacker啟動(dòng)相關(guān)的運(yùn)算進(jìn)程

B: stom每個(gè)計(jì)算單元之間數(shù)據(jù)之間通過(guò)網(wǎng)絡(luò)(zeromq)直接傳輸。

mapreduce map任務(wù)運(yùn)算的結(jié)果要寫(xiě)入到HDFS,在于reduce任務(wù)通過(guò)網(wǎng)絡(luò)拖過(guò)去運(yùn)算。相對(duì)來(lái)說(shuō)多了磁盤(pán)讀寫(xiě),比較慢

C: 對(duì)于復(fù)雜運(yùn)算

storm的運(yùn)算模型直接支持DAG(有向無(wú)環(huán)圖)

mapreduce 需要肯多個(gè)MR過(guò)程組成,有些map操作沒(méi)有意義的

3)數(shù)據(jù)結(jié)果展現(xiàn)

流計(jì)算一般運(yùn)算結(jié)果直接反饋到最終結(jié)果集中(展示頁(yè)面,數(shù)據(jù)庫(kù),搜索引擎的索引)。而mapreduce一般需要整個(gè)運(yùn)算結(jié)束后將結(jié)果批量導(dǎo)入到結(jié)果集中。

實(shí)際流計(jì)算和批處理系統(tǒng)沒(méi)有本質(zhì)的區(qū)別,像storm的trident也有批概念,而mapreduce可以將每次運(yùn)算的數(shù)據(jù)集縮小(比如幾分鐘啟動(dòng)一次),facebook的puma就是基于hadoop做的流計(jì)算系統(tǒng)。

責(zé)任編輯:張燕妮 來(lái)源: 36大數(shù)據(jù)
相關(guān)推薦

2016-12-14 12:02:01

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

2017-03-23 14:37:19

WebAssemblyasm.js編程

2021-05-12 08:15:53

HTTPSHTTP安全

2021-01-21 07:53:29

面試官Promis打印e

2023-04-07 08:17:39

fasthttp場(chǎng)景設(shè)計(jì)HTTP

2022-08-17 12:28:14

vite代碼前端

2019-09-11 09:09:56

++ii++編程語(yǔ)言

2025-02-04 17:24:22

2017-12-19 16:24:20

2024-03-25 02:00:00

Vite開(kāi)發(fā)

2015-08-26 10:37:13

云主機(jī)物理機(jī)服務(wù)器故障

2020-02-24 12:34:21

JuliaPython編程語(yǔ)言

2020-02-27 21:03:30

調(diào)度器架構(gòu)效率

2020-02-27 15:44:41

Nginx服務(wù)器反向代理

2024-02-26 21:15:20

Kafka緩存參數(shù)

2023-06-08 18:25:40

Doris場(chǎng)景查詢

2021-12-17 22:51:03

5G4G手機(jī)

2024-04-03 09:23:31

ES索引分析器

2019-02-24 22:05:12

JuliaPython語(yǔ)言

2020-04-14 15:18:16

SparkFlink框架
點(diǎn)贊
收藏

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