Class CompactCoordinator
java.lang.Object
org.apache.flink.streaming.api.operators.AbstractStreamOperator<CompactorRequest>
org.apache.flink.connector.file.sink.compactor.operator.CompactCoordinator
- All Implemented Interfaces:
Serializable,org.apache.flink.api.common.state.CheckpointListener,org.apache.flink.streaming.api.operators.BoundedOneInput,org.apache.flink.streaming.api.operators.Input<org.apache.flink.streaming.api.connector.sink2.CommittableMessage<FileSinkCommittable>>,org.apache.flink.streaming.api.operators.KeyContext,org.apache.flink.streaming.api.operators.KeyContextHandler,org.apache.flink.streaming.api.operators.OneInputStreamOperator<org.apache.flink.streaming.api.connector.sink2.CommittableMessage<FileSinkCommittable>,,CompactorRequest> org.apache.flink.streaming.api.operators.StreamOperator<CompactorRequest>,org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator,org.apache.flink.streaming.api.operators.YieldingOperator<CompactorRequest>
@Internal
public class CompactCoordinator
extends org.apache.flink.streaming.api.operators.AbstractStreamOperator<CompactorRequest>
implements org.apache.flink.streaming.api.operators.OneInputStreamOperator<org.apache.flink.streaming.api.connector.sink2.CommittableMessage<FileSinkCommittable>,CompactorRequest>, org.apache.flink.streaming.api.operators.BoundedOneInput
Coordinator that coordinates file compaction for the
FileSink.
All committable emitted from the writers are collected and packed into CompactorRequests. The FileCompactStrategy defines when the requests can be fired. When
a firing condition is met, the requests will be sent to the CompactorOperator.
The CompactCoordinator stores the non-fired committable as its state, and may emit a
request at any time. A CompactorOperator must ensure that the ownership of the
committable in a compact request is successfully handed from the coordinator, before it can
actually perform the compaction.
- See Also:
-
Field Summary
Fields inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator
combinedWatermark, config, lastRecordAttributes1, lastRecordAttributes2, latencyStats, LOG, metrics, output, processingTimeService, stateHandler, stateKeySelector1, stateKeySelector2, timeServiceManager -
Constructor Summary
ConstructorsConstructorDescriptionCompactCoordinator(org.apache.flink.streaming.api.operators.StreamOperatorParameters<CompactorRequest> parameters, FileCompactStrategy strategy, org.apache.flink.core.io.SimpleVersionedSerializer<FileSinkCommittable> committableSerializer) -
Method Summary
Modifier and TypeMethodDescriptionvoidendInput()voidinitializeState(org.apache.flink.runtime.state.StateInitializationContext context) voidprepareSnapshotPreBarrier(long checkpointId) voidprocessElement(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<org.apache.flink.streaming.api.connector.sink2.CommittableMessage<FileSinkCommittable>> element) voidsnapshotState(org.apache.flink.runtime.state.StateSnapshotContext context) Methods inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator
beforeInitializeStateHandler, 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, isAsyncStateProcessingEnabled, isUsingCustomRawKeyedState, notifyCheckpointAborted, notifyCheckpointComplete, open, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processRecordAttributes, processRecordAttributes1, processRecordAttributes2, processWatermark, processWatermark, processWatermark1, processWatermark1, processWatermark2, processWatermark2, processWatermarkStatus, processWatermarkStatus, processWatermarkStatus1, processWatermarkStatus2, reportOrForwardLatencyMarker, setCurrentKey, setKeyContextElement1, setKeyContextElement2, setMailboxExecutor, setProcessingTimeService, setup, snapshotState, useSplittableTimersMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.flink.api.common.state.CheckpointListener
notifyCheckpointAborted, notifyCheckpointCompleteMethods inherited from interface org.apache.flink.streaming.api.operators.Input
processLatencyMarker, processRecordAttributes, processWatermark, processWatermark, processWatermarkStatusMethods inherited from interface org.apache.flink.streaming.api.operators.KeyContext
getCurrentKey, setCurrentKeyMethods inherited from interface org.apache.flink.streaming.api.operators.KeyContextHandler
hasKeyContextMethods inherited from interface org.apache.flink.streaming.api.operators.OneInputStreamOperator
setKeyContextElementMethods inherited from interface org.apache.flink.streaming.api.operators.StreamOperator
close, finish, getMetricGroup, getOperatorAttributes, getOperatorID, initializeState, open, setKeyContextElement1, setKeyContextElement2, snapshotState
-
Constructor Details
-
CompactCoordinator
public CompactCoordinator(org.apache.flink.streaming.api.operators.StreamOperatorParameters<CompactorRequest> parameters, FileCompactStrategy strategy, org.apache.flink.core.io.SimpleVersionedSerializer<FileSinkCommittable> committableSerializer)
-
-
Method Details
-
processElement
public void processElement(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<org.apache.flink.streaming.api.connector.sink2.CommittableMessage<FileSinkCommittable>> element) throws Exception - Specified by:
processElementin interfaceorg.apache.flink.streaming.api.operators.Input<org.apache.flink.streaming.api.connector.sink2.CommittableMessage<FileSinkCommittable>>- Throws:
Exception
-
endInput
- Specified by:
endInputin interfaceorg.apache.flink.streaming.api.operators.BoundedOneInput- Throws:
Exception
-
prepareSnapshotPreBarrier
- Specified by:
prepareSnapshotPreBarrierin interfaceorg.apache.flink.streaming.api.operators.StreamOperator<CompactorRequest>- Overrides:
prepareSnapshotPreBarrierin classorg.apache.flink.streaming.api.operators.AbstractStreamOperator<CompactorRequest>- Throws:
Exception
-
snapshotState
public void snapshotState(org.apache.flink.runtime.state.StateSnapshotContext context) throws Exception - Specified by:
snapshotStatein interfaceorg.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator- Overrides:
snapshotStatein classorg.apache.flink.streaming.api.operators.AbstractStreamOperator<CompactorRequest>- Throws:
Exception
-
initializeState
public void initializeState(org.apache.flink.runtime.state.StateInitializationContext context) throws Exception - Specified by:
initializeStatein interfaceorg.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator- Overrides:
initializeStatein classorg.apache.flink.streaming.api.operators.AbstractStreamOperator<CompactorRequest>- Throws:
Exception
-