偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

為什么說Storm比Hadoop快?

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

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

  1. 時延 , 指數(shù)據(jù)從產(chǎn)生到運算產(chǎn)生結果的時間,題主的“快”應該主要指這個。
  2. 吞吐, 指系統(tǒng)單位時間處理的數(shù)據(jù)量。

首先明確一點,在消耗資源相同的情況下,一般來說storm的延時低于mapreduce。但是吞吐也低于mapreduce。

[[178902]]

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

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

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

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

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

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

整個數(shù)據(jù)處理流程來說大致可以分三個階段:

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

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

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

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

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

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

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

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

mapreduce map任務運算的結果要寫入到HDFS,在于reduce任務通過網(wǎng)絡拖過去運算。相對來說多了磁盤讀寫,比較慢

C: 對于復雜運算

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

mapreduce 需要肯多個MR過程組成,有些map操作沒有意義的

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

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

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

責任編輯:未麗燕 來源: 36大數(shù)據(jù)
相關推薦

2017-02-14 14:20:02

StormHadoop

2017-03-23 14:37:19

WebAssemblyasm.js編程

2021-05-12 08:15:53

HTTPSHTTP安全

2023-04-07 08:17:39

fasthttp場景設計HTTP

2021-01-21 07:53:29

面試官Promis打印e

2022-08-17 12:28:14

vite代碼前端

2019-09-11 09:09:56

++ii++編程語言

2025-02-04 17:24:22

2017-12-19 16:24:20

2024-03-25 02:00:00

Vite開發(fā)

2015-08-26 10:37:13

云主機物理機服務器故障

2020-02-24 12:34:21

JuliaPython編程語言

2024-02-26 21:15:20

Kafka緩存參數(shù)

2020-02-27 15:44:41

Nginx服務器反向代理

2023-06-08 18:25:40

Doris場景查詢

2025-07-04 01:25:00

DebianMacWindows

2020-02-27 21:03:30

調度器架構效率

2021-12-17 22:51:03

5G4G手機

2024-04-03 09:23:31

ES索引分析器

2020-03-30 15:05:46

Kafka消息數(shù)據(jù)
點贊
收藏

51CTO技術棧公眾號