簡體   English   中英

比較風暴螺栓中的上一個和下一個元組

[英]Comparing previous and next tuple in storm bolt

我有由風暴拓撲處理的實時數據。 數據可以有四種類型,例如A,B,C,D。每個數據都由螺栓按隨機順序使用。 我需要做的是比較兩個相同數據類型的元組。 例如,我想比較A型元組和下一個A型元組,或者說比較當前A型元組和先前接收的A型元組。 有辦法做到這一點嗎? 或者,我必須將先前的結果保存在數據庫中(比如說hbase或緩存)中,並查詢它以與特定類型的當前元組進行比較。

編輯

假設A,B,C,D類型的數據流來自噴口

B4 A4 C7 D2 A3 A2 B3 C6 D1 B2 C5 C4 B1 C3 C2 C1 A1 ----->出口->螺栓

現在在螺栓上,我想將A1與A2,A2與A3,A3與A4進行比較。 類似地,B1與B2,B2與B3等。

當您在噴嘴中發出元組時,可以指定數據類型。 然后,您可以使用字段分組,因此每個類型A都將進入同一線程。 這樣,您最多可以有4個不同的線程來執行螺栓代碼。 每個線程中的順序得到保證。

builder.setBolt(BOLT_NAME, new BoltClass(),4)
.fieldsGrouping(SPOUT_NAME,new Fields("type"));

Storm文檔中的字段分組定義:

字段分組:流按分組中指定的字段進行分區。 例如,如果流按“ user-id”字段分組,則具有相同“ user-id”的元組將始終執行相同的任務,但是具有不同“ user-id”的元組可能會執行不同的任務。

http://storm.apache.org/documentation/Concepts.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM