0
votes

I have been working on a stream processing project that streaming on incoming data using the sliding window technique on Apache Storm (v1.1.0).

I tried to portray the problem which I have in the picture below. Let me explain. e1,e2,e3,e4,e5,e6,e7,e8 are my events and coming to Apache Storm in time order. w1,w2,w3 etc represent the window name.

  • Between[0,5] there are events
  • Between[5,10] there are events
  • Between[10,15] there are not events
  • Between[15,20] there are not events
  • Between[20,25] there are not events
  • Between[25,30] there is event
  • Between[30,25] there is event

As an output, Apache Storm creates w1, w2, w3, w6 windows, but does not create w4 and w5

The problem is I need w4 and w5 for my logic. What can I do for that. I want to receive window even if there is no event for window

Sliding Window Example

1
You will need to give more information on your implementation for someone to help you with this. Is this windowing happening in a spout or bolt? Can you show your nextTuple() or execute() method code so we can see if there any conditional statements that might not be triggered. - Tom Cooper

1 Answers

1
votes

I'm guessing we're talking about the windowing support described here?

I would try enabling tick tuples for your bolt. It should make Storm send a tuple to your bolt with some interval, which should allow you to avoid empty windows.