Task 4 – Calculating the average length of words in a stream with fixed lookback
In this section, we will focus on using a different kind of window – a sliding window. Let's see what we can do with them.
Defining the problem
Given an input data stream of lines of text, calculate the average length of the words seen in this stream during the last 10 seconds and output the result every 2 seconds.
Discussing the problem decomposition
This is actually very similar to Task 3. However, what we need to do is apply a different Window
transform. What we need is a sliding window with a length of 10 seconds and a slide interval of 2 seconds, as this will produce the output we want.
Implementing the solution
The solution to this task can be found in the com.packtpub.beam.chapter2.SlidingWindowWordLength
class.
The modification to the code from the previous task is just the different Window
transform:
words .apply( Window...