Class BatchCompactOperator<T>
- java.lang.Object
-
- org.apache.flink.streaming.api.operators.AbstractStreamOperator<CompactMessages.CompactOutput>
-
- org.apache.flink.connector.file.table.batch.compact.BatchCompactOperator<T>
-
- 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<CompactMessages.CoordinatorOutput>,org.apache.flink.streaming.api.operators.KeyContext,org.apache.flink.streaming.api.operators.KeyContextHandler,org.apache.flink.streaming.api.operators.OneInputStreamOperator<CompactMessages.CoordinatorOutput,CompactMessages.CompactOutput>,org.apache.flink.streaming.api.operators.StreamOperator<CompactMessages.CompactOutput>,org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator,org.apache.flink.streaming.api.operators.YieldingOperator<CompactMessages.CompactOutput>
public class BatchCompactOperator<T> extends org.apache.flink.streaming.api.operators.AbstractStreamOperator<CompactMessages.CompactOutput> implements org.apache.flink.streaming.api.operators.OneInputStreamOperator<CompactMessages.CoordinatorOutput,CompactMessages.CompactOutput>, org.apache.flink.streaming.api.operators.BoundedOneInput
CompactOperator for compaction in batch mode. It will compact files to a target file and then emit the compacted file's path to downstream operator. The main logic is similar toCompactOperatorbut skip some unnecessary operations in batch mode.Note: if the size of the files to be compacted is 1, this operator won't do anything and just emit the file to downstream. Also, the name of the files to be compacted is not a hidden file, it's expected these files are in hidden or temporary directory. Please make sure it. This assumption can help skip rename hidden file.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static StringATTEMPT_PREFIXstatic StringCOMPACTED_PREFIXstatic StringUNCOMPACTED_PREFIX
-
Constructor Summary
Constructors Constructor Description BatchCompactOperator(org.apache.flink.util.function.SupplierWithException<org.apache.flink.core.fs.FileSystem,IOException> fsFactory, CompactReader.Factory<T> readerFactory, CompactWriter.Factory<T> writerFactory)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()static org.apache.flink.core.fs.PathconvertFromUncompacted(org.apache.flink.core.fs.Path path)voidendInput()voidopen()voidprocessElement(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<CompactMessages.CoordinatorOutput> element)-
Methods inherited from class org.apache.flink.streaming.api.operators.AbstractStreamOperator
beforeInitializeStateHandler, finish, getContainingTask, getCurrentKey, getExecutionConfig, getInternalTimerService, getKeyedStateBackend, getKeyedStateStore, getMetricGroup, getOperatorConfig, getOperatorID, getOperatorName, getOperatorStateBackend, getOrCreateKeyedState, getPartitionedState, getPartitionedState, getProcessingTimeService, getRuntimeContext, getStateKeySelector1, getStateKeySelector2, getTimeServiceManager, getUserCodeClassloader, hasKeyContext1, hasKeyContext2, initializeState, initializeState, isAsyncKeyOrderedProcessingEnabled, isUsingCustomRawKeyedState, notifyCheckpointAborted, notifyCheckpointComplete, prepareSnapshotPreBarrier, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processRecordAttributes, processRecordAttributes1, processRecordAttributes2, processWatermark, processWatermark, processWatermark1, processWatermark1, processWatermark2, processWatermark2, processWatermarkStatus, processWatermarkStatus, processWatermarkStatus1, processWatermarkStatus2, reportOrForwardLatencyMarker, setCurrentKey, setKeyContextElement1, setKeyContextElement2, setMailboxExecutor, setProcessingTimeService, setup, snapshotState, snapshotState, useInterruptibleTimers
-
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, processWatermark, processWatermark, 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
-
-
-
-
Field Detail
-
UNCOMPACTED_PREFIX
public static final String UNCOMPACTED_PREFIX
- See Also:
- Constant Field Values
-
COMPACTED_PREFIX
public static final String COMPACTED_PREFIX
- See Also:
- Constant Field Values
-
ATTEMPT_PREFIX
public static final String ATTEMPT_PREFIX
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BatchCompactOperator
public BatchCompactOperator(org.apache.flink.util.function.SupplierWithException<org.apache.flink.core.fs.FileSystem,IOException> fsFactory, CompactReader.Factory<T> readerFactory, CompactWriter.Factory<T> writerFactory)
-
-
Method Detail
-
open
public void open() throws Exception- Specified by:
openin interfaceorg.apache.flink.streaming.api.operators.StreamOperator<T>- Overrides:
openin classorg.apache.flink.streaming.api.operators.AbstractStreamOperator<CompactMessages.CompactOutput>- Throws:
Exception
-
processElement
public void processElement(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<CompactMessages.CoordinatorOutput> element) throws Exception
-
endInput
public void endInput() throws Exception- Specified by:
endInputin interfaceorg.apache.flink.streaming.api.operators.BoundedOneInput- Throws:
Exception
-
close
public void close() throws Exception- Specified by:
closein interfaceorg.apache.flink.streaming.api.operators.StreamOperator<T>- Overrides:
closein classorg.apache.flink.streaming.api.operators.AbstractStreamOperator<CompactMessages.CompactOutput>- Throws:
Exception
-
convertFromUncompacted
public static org.apache.flink.core.fs.Path convertFromUncompacted(org.apache.flink.core.fs.Path path)
-
-