public class FixedWindows extends PartitioningWindowFn<java.lang.Object,IntervalWindow>
WindowFn that windows values into fixed-size timestamp-based windows.
For example, in order to partition the data into 10 minute windows:
PCollection<Integer> items = ...;
PCollection<Integer> windowedItems = items.apply(
Window.<Integer>into(FixedWindows.of(Duration.standardMinutes(10))));
WindowFn.AssignContext, WindowFn.MergeContext| Modifier and Type | Method and Description |
|---|---|
IntervalWindow |
assignWindow(Instant timestamp)
Returns the single window to which elements with this timestamp belong.
|
boolean |
equals(java.lang.Object object) |
Duration |
getOffset() |
Duration |
getSize() |
int |
hashCode() |
boolean |
isCompatible(WindowFn<?,?> other)
Returns whether this performs the same merging as the given
WindowFn. |
static FixedWindows |
of(Duration size)
Partitions the timestamp space into half-open intervals of the form [N * size, (N + 1) * size),
where 0 is the epoch.
|
void |
populateDisplayData(DisplayData.Builder builder)
Register display data for the given transform or component.
|
void |
verifyCompatibility(WindowFn<?,?> other)
Throw
IncompatibleWindowException if this WindowFn does not perform the same merging as
the given $WindowFn. |
Coder<IntervalWindow> |
windowCoder()
Returns the
Coder used for serializing the windows used by this windowFn. |
FixedWindows |
withOffset(Duration offset)
Partitions the timestamp space into half-open intervals of the form [N * size + offset, (N + 1)
* size + offset), where 0 is the epoch.
|
assignsToOneWindow, assignWindows, getDefaultWindowMappingFn, getOutputTimeisNonMerging, mergeWindowsgetWindowTypeDescriptorpublic static FixedWindows of(Duration size)
public FixedWindows withOffset(Duration offset)
java.lang.IllegalArgumentException - if offset is not in [0, size)public IntervalWindow assignWindow(Instant timestamp)
PartitioningWindowFnassignWindow in class PartitioningWindowFn<java.lang.Object,IntervalWindow>public void populateDisplayData(DisplayData.Builder builder)
WindowFnpopulateDisplayData(DisplayData.Builder) is invoked by Pipeline runners to collect
display data via DisplayData.from(HasDisplayData). Implementations may call super.populateDisplayData(builder) in order to register display data in the current namespace,
but should otherwise use subcomponent.populateDisplayData(builder) to use the namespace
of the subcomponent.
By default, does not register any display data. Implementors may override this method to provide their own display data.
populateDisplayData in interface HasDisplayDatapopulateDisplayData in class WindowFn<java.lang.Object,IntervalWindow>builder - The builder to populate with display data.HasDisplayDatapublic Coder<IntervalWindow> windowCoder()
WindowFnCoder used for serializing the windows used by this windowFn.windowCoder in class WindowFn<java.lang.Object,IntervalWindow>public boolean isCompatible(WindowFn<?,?> other)
WindowFnWindowFn.isCompatible in class WindowFn<java.lang.Object,IntervalWindow>public void verifyCompatibility(WindowFn<?,?> other) throws IncompatibleWindowException
WindowFnIncompatibleWindowException if this WindowFn does not perform the same merging as
the given $WindowFn.verifyCompatibility in class WindowFn<java.lang.Object,IntervalWindow>IncompatibleWindowException - if compared WindowFns are not compatible.public Duration getSize()
public Duration getOffset()
public boolean equals(java.lang.Object object)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Object