@DefaultAnnotation(org.checkerframework.checker.nullness.qual.NonNull.class)
Package org.apache.beam.sdk.transforms.windowing
Window
transform for dividing the
elements in a PCollection into windows, and the Trigger
for controlling when those elements are output.
Window
logically divides up or groups the elements of a PCollection
into finite windows according to a WindowFn
. The output of Window
contains the
same elements as input, but they have been logically assigned to windows. The next GroupByKey
s, including one within composite transforms, will
group by the combination of keys and windows.
Windowing a PCollection
allows chunks of it to be processed individually, before the
entire PCollection
is available. This is especially important for PCollection
s
with unbounded size, since the full PCollection
is never available at once.
For PCollection
s with a bounded size, by default, all data is implicitly in a single
window, and this replicates conventional batch mode. However, windowing can still be a convenient
way to express time-sliced algorithms over bounded PCollection
s.
As elements are assigned to a window, they are placed into a pane. When the trigger fires all of the elements in the current pane are output.
The DefaultTrigger
will output a window when
the system watermark passes the end of the window. See AfterWatermark
for details on the watermark.
-
Class Summary Class Description AfterAll A compositeTrigger
that fires when all of its sub-triggers are ready.AfterEach A compositeTrigger
that executes its sub-triggers in order.AfterFirst A compositeTrigger
that fires once after at least one of its sub-triggers have fired.AfterPane ATrigger
that fires at some point after a specified number of input elements have arrived.AfterProcessingTime ATrigger
trigger that fires at a specified point in processing time, relative to when input first arrives.AfterSynchronizedProcessingTime FOR INTERNAL USE ONLY.AfterWatermark AfterWatermark
triggers fire based on progress of the system watermark.AfterWatermark.AfterWatermarkEarlyAndLate AfterWatermark.FromEndOfWindow A watermark trigger targeted relative to the end of the window.BoundedWindow ABoundedWindow
represents window information assigned to data elements.CalendarWindows A collection ofWindowFn
s that windows values into calendar-based windows such as spans of days, months, or years.CalendarWindows.DaysWindows AWindowFn
that windows elements into periods measured by days.CalendarWindows.MonthsWindows AWindowFn
that windows elements into periods measured by months.CalendarWindows.YearsWindows AWindowFn
that windows elements into periods measured by years.DefaultTrigger A trigger that is equivalent toRepeatedly.forever(AfterWatermark.pastEndOfWindow())
.FixedWindows AWindowFn
that windows values into fixed-size timestamp-based windows.GlobalWindow The default window into which all data is placed (viaGlobalWindows
).GlobalWindow.Coder GlobalWindow.Coder
for encoding and decodingGlobalWindow
s.GlobalWindows AWindowFn
that assigns all data to the same window.IntervalWindow An implementation ofBoundedWindow
that represents an interval fromIntervalWindow.start
(inclusive) toIntervalWindow.end
(exclusive).IntervalWindow.IntervalWindowCoder Encodes anIntervalWindow
as a pair of its upper bound and duration.MergeOverlappingIntervalWindows For internal use only; no backwards compatibility guarantees.Never ATrigger
which never fires.Never.NeverTrigger The actual trigger class forNever
triggers.NonMergingWindowFn<T,W extends BoundedWindow> Abstract base class forWindowFns
that do not merge windows.OrFinallyTrigger ATrigger
that executes according to its main trigger until its "finally" trigger fires.PaneInfo Provides information about the pane an element belongs to.PaneInfo.PaneInfoCoder A Coder for encoding PaneInfo instances.PartitioningWindowFn<T,W extends BoundedWindow> AWindowFn
that places each value into exactly one window based on its timestamp and never merges windows.Repeatedly ATrigger
that fires according to its subtrigger forever.ReshuffleTrigger<W extends BoundedWindow> Deprecated. The intended side effect ofReshuffle
is not portable; it will likely be removedSessions AWindowFn
that windows values into sessions separated by periods with no input for at least the duration specified bySessions.getGapDuration()
.SlidingWindows AWindowFn
that windows values into possibly overlapping fixed-size timestamp-based windows.TimestampTransform For internal use only; no backwards-compatibility guarantees.TimestampTransform.AlignTo For internal use only; no backwards-compatibility guarantees.TimestampTransform.Delay For internal use only; no backwards-compatibility guarantees.Trigger Triggers control when the elements for a specific key and window are output.Trigger.OnceTrigger For internal use only; no backwards-compatibility guarantees.Window<T> Window
logically divides up or groups the elements of aPCollection
into finite windows according to aWindowFn
.Window.Assign<T> A PrimitivePTransform
that assigns windows to elements based on aWindowFn
.WindowFn<T,W extends BoundedWindow> The argument to theWindow
transform used to assign elements into windows and to determine how windows are merged.WindowMappingFn<TargetWindowT extends BoundedWindow> Experimental! This will be ready for users eventually, but should be considered internal for now. -
Enum Summary Enum Description PaneInfo.Timing Enumerates the possibilities for the timing of this pane firing related to the input and output watermarks for its computation.TimestampCombiner Policies for combining timestamps that occur within a window.Window.ClosingBehavior Specifies the conditions under which a final pane will be created when a window is permanently closed.Window.OnTimeBehavior Specifies the conditions under which an on-time pane will be created when a window is closed. -
Exception Summary Exception Description IncompatibleWindowException Exception thrown byWindowFn.verifyCompatibility(WindowFn)
if two compared WindowFns are not compatible, including the explanation of incompatibility.