@Experimental public abstract class WindowMappingFn<TargetWindowT extends BoundedWindow> extends java.lang.Object implements java.io.Serializable
A function that takes the windows of elements in a main input and maps them to the appropriate
window in a PCollectionView
consumed as a side input
.
Modifier | Constructor and Description |
---|---|
protected |
WindowMappingFn()
Create a new
WindowMappingFn with zero maximum lookback. |
protected |
WindowMappingFn(Duration maximumLookback)
Create a new
WindowMappingFn with the specified maximum lookback. |
Modifier and Type | Method and Description |
---|---|
abstract TargetWindowT |
getSideInputWindow(BoundedWindow mainWindow)
Returns the window of the side input corresponding to the given window of the main input.
|
Duration |
maximumLookback()
The maximum distance between the end of any main input window
mainWindow and the end of
the side input window returned by getSideInputWindow(BoundedWindow) |
protected WindowMappingFn()
WindowMappingFn
with zero
maximum lookback.protected WindowMappingFn(Duration maximumLookback)
WindowMappingFn
with the specified maximum lookback.public abstract TargetWindowT getSideInputWindow(BoundedWindow mainWindow)
public final Duration maximumLookback()
mainWindow
and the end of
the side input window returned by getSideInputWindow(BoundedWindow)
A side input window w
becomes unreachable when the input watermarks for all
consumers surpasses the timestamp:
(end of side input window) + (maximum lookback) + (main input allowed lateness).
At this point, every main input window that could map to w
is expired.