public abstract class WindowTableFunctionOperatorBase extends TableStreamOperator<RowData> implements OneInputStreamOperator<RowData,RowData>
WindowTableFunctionOperatorBase
acts as a table-valued function to assign windows for
input row. Output row includes the original columns as well additional 3 columns named window_start
, window_end
, window_time
to indicate the assigned window.TableStreamOperator.ContextImpl
Modifier and Type | Field and Description |
---|---|
protected Counter |
numNullRowTimeRecordsDropped |
protected int |
rowtimeIndex |
protected ZoneId |
shiftTimeZone
The shift timezone of the window, if the proctime or rowtime type is TIMESTAMP_LTZ, the shift
timezone is the timezone user configured in TableConfig, other cases the timezone is UTC
which means never shift when assigning windows.
|
protected GroupWindowAssigner<TimeWindow> |
windowAssigner |
ctx, currentWatermark
chainingStrategy, config, lastRecordAttributes1, lastRecordAttributes2, latencyStats, LOG, metrics, output, processingTimeService, stateHandler, stateKeySelector1, stateKeySelector2, timeServiceManager
Constructor and Description |
---|
WindowTableFunctionOperatorBase(GroupWindowAssigner<TimeWindow> windowAssigner,
int rowtimeIndex,
ZoneId shiftTimeZone) |
Modifier and Type | Method and Description |
---|---|
void |
close()
This method is called at the very end of the operator's life, both in the case of a
successful completion of the operation, and in the case of a failure and canceling.
|
protected void |
collect(RowData inputRow,
Collection<TimeWindow> allWindows) |
Counter |
getNumNullRowTimeRecordsDropped() |
void |
open()
This method is called immediately before any elements are processed, it should contain the
operator's initialization logic, e.g. state initialization.
|
computeMemorySize, processWatermark, useSplittableTimers
finish, getChainingStrategy, getContainingTask, getCurrentKey, getExecutionConfig, getInternalTimerService, getKeyedStateBackend, getKeyedStateStore, getMetricGroup, getOperatorConfig, getOperatorID, getOperatorName, getOperatorStateBackend, getOrCreateKeyedState, getPartitionedState, getPartitionedState, getProcessingTimeService, getRuntimeContext, getStateKeySelector1, getStateKeySelector2, getTimeServiceManager, getUserCodeClassloader, hasKeyContext1, hasKeyContext2, initializeState, initializeState, isUsingCustomRawKeyedState, notifyCheckpointAborted, notifyCheckpointComplete, prepareSnapshotPreBarrier, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processRecordAttributes, processRecordAttributes1, processRecordAttributes2, processWatermark1, processWatermark2, processWatermarkStatus, processWatermarkStatus1, processWatermarkStatus2, reportOrForwardLatencyMarker, setChainingStrategy, setCurrentKey, setKeyContextElement1, setKeyContextElement2, setMailboxExecutor, setProcessingTimeService, setup, snapshotState, snapshotState
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
setKeyContextElement
finish, getMetricGroup, getOperatorAttributes, getOperatorID, initializeState, prepareSnapshotPreBarrier, setKeyContextElement1, setKeyContextElement2, snapshotState
notifyCheckpointAborted, notifyCheckpointComplete
getCurrentKey, setCurrentKey
processElement, processLatencyMarker, processRecordAttributes, processWatermark, processWatermarkStatus
hasKeyContext
protected final ZoneId shiftTimeZone
protected final int rowtimeIndex
protected final GroupWindowAssigner<TimeWindow> windowAssigner
protected transient Counter numNullRowTimeRecordsDropped
public WindowTableFunctionOperatorBase(GroupWindowAssigner<TimeWindow> windowAssigner, int rowtimeIndex, ZoneId shiftTimeZone)
public void open() throws Exception
AbstractStreamOperator
The default implementation does nothing.
open
in interface StreamOperator<RowData>
open
in class TableStreamOperator<RowData>
Exception
- An exception in this method causes the operator to fail.public void close() throws Exception
StreamOperator
This method is expected to make a thorough effort to release all resources that the operator has acquired.
NOTE:It can not emit any records! If you need to emit records at the end of
processing, do so in the StreamOperator.finish()
method.
close
in interface StreamOperator<RowData>
close
in class AbstractStreamOperator<RowData>
Exception
protected void collect(RowData inputRow, Collection<TimeWindow> allWindows)
@VisibleForTesting public Counter getNumNullRowTimeRecordsDropped()
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.