Class PaneInfo
java.lang.Object
org.apache.beam.sdk.transforms.windowing.PaneInfo
Provides information about the pane an element belongs to. Every pane is implicitly associated
with a window. Panes are observable only via the
DoFn.ProcessContext.pane()
method of the
context passed to a DoFn.ProcessElement
method.
Note: This does not uniquely identify a pane, and should not be used for comparisons.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
A Coder for encoding PaneInfo instances.static enum
Enumerates the possibilities for the timing of this pane firing related to the input and output watermarks for its computation. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final PaneInfo
PaneInfo
to use for elements on (and before) initial window assignment (including elements read from sources) before they have passed through aGroupByKey
and are associated with a particular trigger firing.static final PaneInfo
PaneInfo
to use when there will be exactly one firing and it is on time. -
Method Summary
Modifier and TypeMethodDescriptionstatic PaneInfo
createPane
(boolean isFirst, boolean isLast, PaneInfo.Timing timing) static PaneInfo
createPane
(boolean isFirst, boolean isLast, PaneInfo.Timing timing, long index, long onTimeIndex) Factory method to create aPaneInfo
with the specified parameters.static PaneInfo
decodePane
(byte encodedPane) boolean
long
getIndex()
The zero-based index of this trigger firing that produced this pane.long
The zero-based index of this trigger firing among non-speculative panes.Return the timing of this pane.int
hashCode()
boolean
isFirst()
Return true if this is the first pane produced for the associated window.boolean
isLast()
Return true if this is the last pane that will be produced in the associated window.boolean
Return true if there is no timing information for the currentPaneInfo
.toString()
-
Field Details
-
NO_FIRING
PaneInfo
to use for elements on (and before) initial window assignment (including elements read from sources) before they have passed through aGroupByKey
and are associated with a particular trigger firing. -
ON_TIME_AND_ONLY_FIRING
PaneInfo
to use when there will be exactly one firing and it is on time.
-
-
Method Details
-
createPane
-
createPane
public static PaneInfo createPane(boolean isFirst, boolean isLast, PaneInfo.Timing timing, long index, long onTimeIndex) Factory method to create aPaneInfo
with the specified parameters. -
decodePane
-
isUnknown
public boolean isUnknown()Return true if there is no timing information for the currentPaneInfo
. This typically indicates that the current element has not been assigned to windows or passed through an operation that executes triggers yet. -
isFirst
public boolean isFirst()Return true if this is the first pane produced for the associated window. -
isLast
public boolean isLast()Return true if this is the last pane that will be produced in the associated window. -
getTiming
Return the timing of this pane. -
getIndex
public long getIndex()The zero-based index of this trigger firing that produced this pane.This will return 0 for the first time the timer fires, 1 for the next time, etc.
A given (key, window, pane-index) is guaranteed to be unique in the output of a group-by-key operation.
-
getNonSpeculativeIndex
public long getNonSpeculativeIndex()The zero-based index of this trigger firing among non-speculative panes.This will return 0 for the first non-
PaneInfo.Timing.EARLY
timer firing, 1 for the next one, etc.Always -1 for speculative data.
-
hashCode
public int hashCode() -
equals
-
toString
-