Values should almost always be part of at least one window. WindowFns
should place all elements in at least one window, as values that are in no
windows will be dropped when they reach a GroupByKey.

Elements in no windows, for example those created by
WindowedValue.valueInEmptyWindows(T) are generally an implementation detail
of a transform; for example, in the InProcessPipelineRunner, the KV<K,
Iterable<WindowedValue<V>>> elements output by a GroupByKeyOnly are in
empty windows - but by the time the element reaches the boundary of the
GroupByKey, the elements are reassigned to the appropriate window(s).

On Tue, Apr 12, 2016 at 11:44 PM, Amit Sela <[email protected]> wrote:

> My instinct tells me that if a value does not belong to a specific window
> (in time) it's a part of a global window, but if so, what's the role of the
> "empty window". When should an element be a "value in an empty window" ?
>

Reply via email to