Class PartitionCommitter
- java.lang.Object
-
- org.apache.flink.streaming.api.operators.AbstractStreamOperator<Void>
-
- org.apache.flink.connector.file.table.stream.PartitionCommitter
-
- All Implemented Interfaces:
Serializable
,CheckpointListener
,Input<PartitionCommitInfo>
,KeyContext
,KeyContextHandler
,OneInputStreamOperator<PartitionCommitInfo,Void>
,StreamOperator<Void>
,StreamOperatorStateHandler.CheckpointedStreamOperator
,YieldingOperator<Void>
@Internal public class PartitionCommitter extends AbstractStreamOperator<Void> implements OneInputStreamOperator<PartitionCommitInfo,Void>
Committer operator for partitions. This is the single (non-parallel) task. It collects all the partition information sent from upstream, and triggers the partition submission decision when it judges to collect the partitions from all tasks of a checkpoint.NOTE: It processes records after the checkpoint completes successfully. Receive records from upstream
CheckpointListener.notifyCheckpointComplete(long)
.Processing steps: 1.Partitions are sent from upstream. Add partition to trigger. 2.
TaskTracker
say it have already received partition data from all tasks in a checkpoint. 3.Extracting committable partitions fromPartitionCommitTrigger
. 4.UsingPartitionCommitPolicy
chain to commit partitions.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator
config, lastRecordAttributes1, lastRecordAttributes2, latencyStats, LOG, metrics, output, processingTimeService, stateHandler, stateKeySelector1, stateKeySelector2, timeServiceManager
-
-
Constructor Summary
Constructors Constructor Description PartitionCommitter(Path locationPath, ObjectIdentifier tableIdentifier, List<String> partitionKeys, TableMetaStoreFactory metaStoreFactory, FileSystemFactory fsFactory, Configuration conf)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
initializeState(StateInitializationContext context)
Stream operators with state which can be restored need to override this hook method.void
processElement(StreamRecord<PartitionCommitInfo> element)
Processes one element that arrived on this input of theMultipleInputStreamOperator
.void
processWatermark(Watermark mark)
Processes aWatermark
that arrived on the first input of this two-input operator.void
snapshotState(StateSnapshotContext context)
Stream operators with state, which want to participate in a snapshot need to override this hook method.-
Methods inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator
close, finish, getContainingTask, getCurrentKey, getExecutionConfig, getInternalTimerService, getKeyedStateBackend, getKeyedStateStore, getMetricGroup, getOperatorConfig, getOperatorID, getOperatorName, getOperatorStateBackend, getOrCreateKeyedState, getPartitionedState, getPartitionedState, getProcessingTimeService, getRuntimeContext, getStateKeySelector1, getStateKeySelector2, getTimeServiceManager, getUserCodeClassloader, hasKeyContext1, hasKeyContext2, initializeState, isUsingCustomRawKeyedState, notifyCheckpointAborted, notifyCheckpointComplete, open, prepareSnapshotPreBarrier, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processRecordAttributes, processRecordAttributes1, processRecordAttributes2, processWatermark1, processWatermark2, processWatermarkStatus, processWatermarkStatus1, processWatermarkStatus2, reportOrForwardLatencyMarker, setCurrentKey, setKeyContextElement1, setKeyContextElement2, setMailboxExecutor, setProcessingTimeService, setup, snapshotState, useSplittableTimers
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.flink.api.common.state.CheckpointListener
notifyCheckpointAborted, notifyCheckpointComplete
-
Methods inherited from interface org.apache.flink.streaming.api.operators.Input
processLatencyMarker, processRecordAttributes, processWatermarkStatus
-
Methods inherited from interface org.apache.flink.streaming.api.operators.KeyContext
getCurrentKey, setCurrentKey
-
Methods inherited from interface org.apache.flink.streaming.api.operators.KeyContextHandler
hasKeyContext
-
Methods inherited from interface org.apache.flink.streaming.api.operators.OneInputStreamOperator
setKeyContextElement
-
Methods inherited from interface org.apache.flink.streaming.api.operators.StreamOperator
close, finish, getMetricGroup, getOperatorAttributes, getOperatorID, initializeState, open, prepareSnapshotPreBarrier, setKeyContextElement1, setKeyContextElement2, snapshotState
-
-
-
-
Constructor Detail
-
PartitionCommitter
public PartitionCommitter(Path locationPath, ObjectIdentifier tableIdentifier, List<String> partitionKeys, TableMetaStoreFactory metaStoreFactory, FileSystemFactory fsFactory, Configuration conf)
-
-
Method Detail
-
initializeState
public void initializeState(StateInitializationContext context) throws Exception
Description copied from class:AbstractStreamOperator
Stream operators with state which can be restored need to override this hook method.- Specified by:
initializeState
in interfaceStreamOperatorStateHandler.CheckpointedStreamOperator
- Overrides:
initializeState
in classAbstractStreamOperator<Void>
- Parameters:
context
- context that allows to register different states.- Throws:
Exception
-
processElement
public void processElement(StreamRecord<PartitionCommitInfo> element) throws Exception
Description copied from interface:Input
Processes one element that arrived on this input of theMultipleInputStreamOperator
. This method is guaranteed to not be called concurrently with other methods of the operator.- Specified by:
processElement
in interfaceInput<PartitionCommitInfo>
- Throws:
Exception
-
processWatermark
public void processWatermark(Watermark mark) throws Exception
Description copied from interface:Input
Processes aWatermark
that arrived on the first input of this two-input operator. This method is guaranteed to not be called concurrently with other methods of the operator.- Specified by:
processWatermark
in interfaceInput<PartitionCommitInfo>
- Overrides:
processWatermark
in classAbstractStreamOperator<Void>
- Throws:
Exception
- See Also:
Watermark
-
snapshotState
public void snapshotState(StateSnapshotContext context) throws Exception
Description copied from class:AbstractStreamOperator
Stream operators with state, which want to participate in a snapshot need to override this hook method.- Specified by:
snapshotState
in interfaceStreamOperatorStateHandler.CheckpointedStreamOperator
- Overrides:
snapshotState
in classAbstractStreamOperator<Void>
- Parameters:
context
- context that provides information and means required for taking a snapshot- Throws:
Exception
-
-