您好,登錄后才能下訂單哦!
這篇文章主要介紹“Storm的設計思想是什么”,在日常操作中,相信很多人在Storm的設計思想是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Storm的設計思想是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
有別于傳統的離線批處理操作(對很多數據的集合進行的操作),實時處理,說白就是針對一條一條的數據/記錄進行操作,所有的這些操作進行一個匯總(截止到目前為止的所有的統計總和)。
Bounded:有界 離線計算面臨的操作數據都是有界限的,無論是1G、1T、1P、1EB、1NB 數據的有界必然會導致計算的有界 UnBounded:××× 實時計算面臨的操作數據是源源不斷的向水流一樣,是沒有界限的, 數據的×××必然導致計算的×××
來自Flink官網的說明:
First, 2 types of datasets Unbounded: Infinite datasets that are appended to continuously Bounded: Finite, unchanging datasets Second, 2 types of execution models Streaming: Processing that executes continuously as long as data is being produced Batch: Processing that is executed and runs to completeness in a finite amount of time, releasing computing resources when finished
3大計算中心 離線批處理 準實時流計算中心 實時流計算 3大計算引擎 用戶交互式計算引擎:SQL/ES 圖計算引擎 機器學習計算引擎
ApacheStorm是Twitter開源的一個類似于Hadoop的實時數據處理框架,它原來是由BackType開發,后BackType被Twitter收購,將Storm作為Twitter的實時數據分析系統。
Storm能實現高頻數據和大規模數據的實時處理。
官網資料顯示storm的一個節點1秒鐘能夠處理100萬個100字節的消息(IntelE5645@2.4Ghz的CPU,24GB的內存)。(即單節點每秒大概處理95MB左右數據)
官網:<http://storm.apache.org>
數據來源
HADOOP處理的是HDFS上TB級別的數據(歷史數據),STORM是處理的是實時新增的某一筆數據(實時數據);
處理過程
HADOOP是分MAP階段到REDUCE階段,STORM是由用戶定義處理流程,流程中可以包含多個步驟,每個步驟可以是數據源(SPOUT)或處理邏輯(BOLT);
是否結束
HADOOP最后是要結束的,STORM是沒有結束狀態,到最后一步時,就停在那,直到有新數據進入時再從頭開始;
處理速度
HADOOP是以處理HDFS上TB級別數據為目的,處理速度慢,STORM是只要處理新增的某一筆數據即可,可以做到很快;
適用場景
HADOOP是在要處理批量數據時用的,不講究時效性,STORM是要處理某一新增數據時用的,要講時效性。
Storm是對流Stream的抽象,流是一個不間斷的×××的連續tuple,注意Storm在建模事件流時,把流中的事件抽象為tuple即元組。
Storm將流中元素抽象為Tuple,一個tuple就是一個值列表——valuelist,list中的每個value都有一個name,并且該value可以是基本類型,字符類型,字節數組等,當然也可以是其他可序列化的類型。
Storm認為每個stream都有一個stream源,也就是原始元組的源頭,所以它將這個源頭稱為Spout。
有了源頭即spout也就是有了stream,那么該如何處理stream內的tuple呢。將流的狀態轉換稱為Bolt,bolt可以消費任意數量的輸入流,只要將流方向導向該bolt,同時它也可以發送新的流給其他bolt使用,這樣一來,只要打開特定的spout(管口)再將spout中流出的tuple導向特定的bolt,又bolt對導入的流做處理后再導向其他bolt或者目的地。
以上處理過程統稱為Topology即拓撲。拓撲是storm中最高層次的一個抽象概念,它可以被提交到storm集群執行,一個拓撲就是一個流轉換圖,圖中每個節點是一個spout或者bolt,圖中的邊表示bolt訂閱了哪些流,當spout或者bolt發送元組到流時,它就發送元組到每個訂閱了該流的bolt(這就意味著不需要我們手工拉管道,只要預先訂閱,spout就會將流發到適當bolt上)。
拓撲的每個節點都要說明它所發出的元組的字段的name,其他節點只需要訂閱該name就可以接收處理。
到此,關于“Storm的設計思想是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。