1. 程式人生 > >Storm部分:Storm Grouping -- 資料流分組(即資料分發策略)

Storm部分:Storm Grouping -- 資料流分組(即資料分發策略)

1. Shuffle Grouping 隨機分組,隨機派發stream裡面的tuple,保證每個bolt task接收到的tuple數目大致相同。 輪詢,平均分配

2. Fields Grouping 按欄位分組,比如,按"user-id"這個欄位來分組,那麼具有同樣"user-id"的 tuple 會被分到相同的Bolt裡的一個task, 而不同的"user-id"則可能會被分配到不同的task。

3. All Grouping 廣播發送,對於每一個tuple,所有的bolts都會收到

4. Global Grouping 全域性分組,把tuple分配給task id最低的task 。

5. None Grouping 不分組,這個分組的意思是說stream不關心到底怎樣分組。目前這種分組和Shuffle grouping是一樣的效果。 有一點不同的是storm會把使用none grouping的這個bolt放到這個bolt的訂閱者同一個執行緒裡面去執行(未來Storm如果可能的話會這樣設計)。

6. Direct Grouping 指向型分組, 這是一種比較特別的分組方法,用這種分組意味著訊息(tuple)的傳送者指定由訊息接收者的哪個task處理這個訊息。只有被宣告為 Direct Stream 的訊息流可以宣告這種分組方法。而且這種訊息tuple必須使用 emitDirect 方法來發射。訊息處理者可以通過 TopologyContext 來獲取處理它的訊息的task的id (OutputCollector.emit方法也會返回task的id)

7. Local or shuffle grouping 本地或隨機分組。如果目標bolt有一個或者多個task與源bolt的task在同一個工作程序中,tuple將會被隨機發送給這些同進程中的tasks。否則,和普通的Shuffle Grouping行為一致 customGrouping 自定義,相當於mapreduce那裡自己去實現一個partition一樣。

相關推薦

Storm部分Storm Grouping -- 資料分組資料分發策略

1. Shuffle Grouping 隨機分組,隨機派發stream裡面的tuple,保證每個bolt task接收到的tuple數目大致相同。 輪詢,平均分配 2. Fields Grouping 按欄位分組,比如,按"user-id"這個欄位來分組,那麼具有同樣"us

Android 資料持久化技術資料儲存方式

在討論資料持久化技術之前我們先了解幾個概念? 什麼是瞬時資料:儲存在記憶體當中,有可能會因為程式的關閉或其他原因導致記憶體被收回而丟失的資料。   為什麼採用資料持久化技術:為了保證關鍵資料在程式退出時不被丟失。   什麼是資料持久化技術:將記憶體中的瞬時資料

跟我學storm教程2-並行機制及資料分組

topology的四個組成部分 Nodes(伺服器) 即為storm叢集中的supervisor,會執行topology的一部分運算,一個storm叢集一般會有多個node workers(JVM虛擬機器) node節點上執行的相互獨立

Storm部分程式碼模板【Java版純程式碼】

總結:構成部分: Spout部分:繼承BaseRichSpout類,實現裡邊的三個方法:nextTuple,open,declareOutPutFields.主要的方法在nexttuple中寫,打包成集合的形式,在這個方法中用emit傳送,同時在declareOutPutF

Storm框架Storm整合springboot

except nfa 單例 code follow err als nco ons 我們知道Storm本身是一個獨立運行的分布式流式數據處理框架,Springboot也是一個獨立運行的web框架。那麽如何在Strom框架中集成Springboot使得我們能夠在Storm開發

storm筆記storm基本概念

本文主要介紹storm中的基本概念,從基礎上了解strom的體系結構,便於後續程式設計過程中作為基礎指導。主要的概念包括: topology(拓撲) stream(資料流) spout(水龍頭、資料來源) bolt(螺栓,資料篩選處理) stream g

Strom資料分組解析

                本文可作為 <<Storm-分散式實時計算模式>>一書1.5節的讀書筆記 資

scrapy詳細資料走向個人總結

  直接從資料流的角度來說比較容易理解: ·1、Spider建立一個初識url請求,把這個請求通過Engine轉給Scheduler排程模組。然後Scheduler向Engine提供一個請求(這個請求是一個真實的url請求) 疑問點一:為什麼Engine把請求發給Scheduler模組,然

TCP/IP學習筆記(11) --TCP互動資料,成塊資料

目前建立在TCP協議上的網路協議特別多,有telnet,ssh,有ftp,有http等等。這些協議又可以根據資料吞吐量來大致分成兩大類: (1)互動資料型別,例如telnet,ssh,這種型別的協議在大多數情況下只是做小流量的資料交換,比如說按一下鍵盤,回顯一些文字等等。 (2)資料成塊型別

TCP/IP協議--11 TCP 互動資料、成塊資料

目前建立在TCP協議上的網路協議特別多,有telnet,ssh,有ftp,有http等。這些協議又可以根據資料吞吐量來大致分成兩大類: (1)互動資料型別,如telnet,ssh,這種型別的協議在大多數情況下只是做小流量的資料交換,比如說按一下鍵盤,回顯一些文字。 (2)資料成塊型別,例如f

UML資料帶作業

資料流圖(Data Flow Diagram):簡稱DFD,它從資料傳遞和加工角度,以圖形方式來表達系統的邏輯功能、資料在系統內部的邏輯流向和邏輯變換過程,是結構化系統分析方法的主要表達工具及用於表示軟體模型的一種圖示方法。(百科) 談談我的一點理解 有時候我們要開發

TCP/IP學習筆記11-tcp互動資料,成塊資料

        目前建立在TCP協議上的網路協議特別多,有telnet,ssh,有ftp,有http等等。這些協議又可以根據資料吞吐量來大致分成兩大類:      

SparkStreaming部分OutPutOperator類,SaveAsHadoopFile運算元實際上底層呼叫textFileStream讀取的,跟前兩種有一些區別【Java版純程式碼】

package streamingOperate.output; import java.util.Arrays; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; imp

資料圖-2(分層資料圖)

對於比較複雜的實際問題,在資料流圖上常常出現十幾個乃至幾十個、上百個加工,這樣的資料流圖看起來很不清楚。採用層次結構的資料流圖則能很好地解決這個問題。 如圖中的系統S 圖1.5 系統加工資料流圖 它的輸入輸出反映了系統與外界環境的關係或介面,僅用這個圖是不能表明資料的

資料科學個人筆記推薦系統之推薦演算法基於圖+隱語義

一、隱語義模型(LFM演算法) (一)基礎演算法 隱語義分析採取基於使用者行為統計的自動聚類,計算出使用者和隱類的關係和物品和隱類的關係。 此處使用LFM演算法,通過如下公式計算使用者u對物品i的興趣: Preference(u,i)=r(ui)=sum(p(u,k)

資料視覺化 —— 資料Data Flow Diagram

資料流圖(Data Flow Diagram):簡稱 DFD,它從資料傳遞和加工角度,以圖形方式來表達系統的邏輯功能、資料在系統內部的邏輯流向和邏輯變換過程,是結構化系統分析方法的主要表達工

SparkStreaming部分OutPutOperator類,SaveAsTextFile運算元實際上底層呼叫textFileStream讀取的,呼叫dstream儲存的【Java版純程式碼】

package streamingOperate.output; import java.util.Arrays; import org.apache.spark.SparkConf; import org.apache.spark.api.java.function.F

資料中介軟體mysql主從Master+Slave資料同步實驗雙機熱備

覺得這個實驗挺好玩的,所以拿來分享下: 前提,在windows環境下 實驗要求: 1、  兩人一組,每人一臺PC,一人配置Master,一人配置Slave。 2、  資料庫至少設定一張表,用web程式對錶進行增刪查改操作。 3、  實現雙機熱備,即主庫宕機備庫可自動

Storm學習記錄二、分發策略與架構

一、分發策略 Shuffle Grouping:隨機分組,隨機派發stream裡面的tuple,保證每個bolt task接收到的tuple數目大致相同。輪詢,平均分配  Fields Grouping:按欄位分組,比如,按"user-id"這個欄位來分組,那麼具有同樣"u

題目MySql資料查詢題目學生和課程成績

1)     建立student和score表 2)     為student表和score表增加記錄 3)     查詢student表的所有記錄 SELECT * from student 4)     查詢student表的第2條到4條記錄 SELECT * FROM