ストーム トポロジを記述したときに、タプルの順序がスパウトが出力する順序と必ずしも同じではないことがわかりました Thread.sleep()
。手続きが早くなります)。
スパウトまたはボルトによって放出されるタプルの順序を確保する方法を誰か教えてもらえますか? どうもありがとう!
ストーム トポロジを記述したときに、タプルの順序がスパウトが出力する順序と必ずしも同じではないことがわかりました Thread.sleep()
。手続きが早くなります)。
スパウトまたはボルトによって放出されるタプルの順序を確保する方法を誰か教えてもらえますか? どうもありがとう!
トライデント トポロジを確認することをお勧めします。
Trident solves this problem by doing two things:
Each batch is given a unique id called the "transaction id". If a batch is retried it will have the exact same transaction id.
State updates are ordered among batches. That is, the state updates for batch 3 won't be applied until the state updates for batch 2 have succeeded.