Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

To avoid such issues, we propose defining a parameterless fullWindowPartition() method on DataStream class to express the semantics of full window processing. This method is functionally equivalent to the aforementioned dataStream.window(EndOfStreamWindows.get()). By adopting this approach, users can explicitly apply full window processing without any misunderstandings.

The DataStream class has six 6 subclasses, which all have access to the fullWindowPartition() method. However, KeyedStream and IterativeStream should not support non-keyed full window processing. The table below indicates whether these six 6 subclasses should support the feature:


DataStream subclassSupport non-keyed full window
processing 
processing 
KeyedStream
IterativeStream
DataStreamSource
CachedDataStream
SideOutputDataStream
SingleOutputStreamOperator


KeyedStream 's records are all keyed is a keyed DataStream and KeyedStream should only support keyed full window processing. Therefore, we will override the fullWindowPartition() method in the KeyedStream class and apply keyed full window processing in it.

...