[英]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”的元組可能會執行不同的任務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.