OUT
- The output type of the operatorF
- The type of the user function@PublicEvolving public abstract class AbstractUdfStreamOperator<OUT,F extends Function> extends AbstractStreamOperator<OUT> implements OutputTypeConfigurable<OUT>
AbstractStreamOperator.CountingOutput, AbstractStreamOperator.LatencyGauge
Modifier and Type | Field and Description |
---|---|
protected F |
userFunction
The user function.
|
chainingStrategy, config, latencyGauge, LOG, metrics, output, timeServiceManager
Constructor and Description |
---|
AbstractUdfStreamOperator(F userFunction) |
Modifier and Type | Method and Description |
---|---|
void |
close()
This method is called after all records have been added to the operators via the methods
OneInputStreamOperator.processElement(StreamRecord) , or
TwoInputStreamOperator.processElement1(StreamRecord) and
TwoInputStreamOperator.processElement2(StreamRecord) . |
void |
dispose()
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.
|
F |
getUserFunction()
Gets the user function executed in this operator.
|
Configuration |
getUserFunctionParameters()
Since the streaming API does not implement any parametrization of functions via a
configuration, the config returned here is actually empty.
|
void |
initializeState(StateInitializationContext context)
Stream operators with state which can be restored need to override this hook method.
|
void |
notifyOfCompletedCheckpoint(long checkpointId)
Called when the checkpoint with the given ID is completed and acknowledged on the JobManager.
|
void |
open()
This method is called immediately before any elements are processed, it should contain the
operator's initialization logic, e.g.
|
void |
setOutputType(TypeInformation<OUT> outTypeInfo,
ExecutionConfig executionConfig)
Is called by the
StreamGraph.addOperator(Integer, String, StreamOperator, TypeInformation, TypeInformation, String)
method when the StreamGraph is generated. |
void |
setup(StreamTask<?,?> containingTask,
StreamConfig config,
Output<StreamRecord<OUT>> output)
Initializes the operator.
|
void |
snapshotState(StateSnapshotContext context)
Stream operators with state, which want to participate in a snapshot need to override this hook method.
|
getChainingStrategy, getContainingTask, getCurrentKey, getExecutionConfig, getInternalTimerService, getKeyedStateBackend, getKeyedStateStore, getMetricGroup, getOperatorConfig, getOperatorID, getOperatorName, getOperatorStateBackend, getOrCreateKeyedState, getPartitionedState, getPartitionedState, getProcessingTimeService, getRuntimeContext, getUserCodeClassloader, initializeState, numEventTimeTimers, numProcessingTimeTimers, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processWatermark, processWatermark1, processWatermark2, reportOrForwardLatencyMarker, setChainingStrategy, setCurrentKey, setKeyContextElement1, setKeyContextElement2, snapshotState
public AbstractUdfStreamOperator(F userFunction)
public F getUserFunction()
public void setup(StreamTask<?,?> containingTask, StreamConfig config, Output<StreamRecord<OUT>> output)
StreamOperator
setup
in interface StreamOperator<OUT>
setup
in class AbstractStreamOperator<OUT>
public void snapshotState(StateSnapshotContext context) throws Exception
AbstractStreamOperator
snapshotState
in class AbstractStreamOperator<OUT>
context
- context that provides information and means required for taking a snapshotException
public void initializeState(StateInitializationContext context) throws Exception
AbstractStreamOperator
initializeState
in class AbstractStreamOperator<OUT>
context
- context that allows to register different states.Exception
public void open() throws Exception
AbstractStreamOperator
The default implementation does nothing.
open
in interface StreamOperator<OUT>
open
in class AbstractStreamOperator<OUT>
Exception
- An exception in this method causes the operator to fail.public void close() throws Exception
AbstractStreamOperator
OneInputStreamOperator.processElement(StreamRecord)
, or
TwoInputStreamOperator.processElement1(StreamRecord)
and
TwoInputStreamOperator.processElement2(StreamRecord)
.
The method is expected to flush all remaining buffered data. Exceptions during this flushing of buffered should be propagated, in order to cause the operation to be recognized asa failed, because the last data items are not processed properly.
close
in interface StreamOperator<OUT>
close
in class AbstractStreamOperator<OUT>
Exception
- An exception in this method causes the operator to fail.public void dispose() throws Exception
AbstractStreamOperator
This method is expected to make a thorough effort to release all resources that the operator has acquired.
dispose
in interface StreamOperator<OUT>
dispose
in class AbstractStreamOperator<OUT>
Exception
public void notifyOfCompletedCheckpoint(long checkpointId) throws Exception
StreamOperator
notifyOfCompletedCheckpoint
in interface StreamOperator<OUT>
notifyOfCompletedCheckpoint
in class AbstractStreamOperator<OUT>
checkpointId
- The ID of the checkpoint that has been completed.Exception
- Exceptions during checkpoint acknowledgement may be forwarded and will cause
the program to fail and enter recovery.public void setOutputType(TypeInformation<OUT> outTypeInfo, ExecutionConfig executionConfig)
OutputTypeConfigurable
StreamGraph.addOperator(Integer, String, StreamOperator, TypeInformation, TypeInformation, String)
method when the StreamGraph
is generated. The
method is called with the output TypeInformation
which is also used for the
StreamTask
output serializer.setOutputType
in interface OutputTypeConfigurable<OUT>
outTypeInfo
- Output type information of the StreamTask
executionConfig
- Execution configurationpublic Configuration getUserFunctionParameters()
Copyright © 2014–2018 The Apache Software Foundation. All rights reserved.