Class DynamicFileSplitEnumerator<SplitT extends FileSourceSplit>
java.lang.Object
org.apache.flink.connector.file.src.impl.DynamicFileSplitEnumerator<SplitT>
- All Implemented Interfaces:
AutoCloseable,org.apache.flink.api.common.state.CheckpointListener,org.apache.flink.api.connector.source.SplitEnumerator<SplitT,,PendingSplitsCheckpoint<SplitT>> org.apache.flink.api.connector.source.SupportsHandleExecutionAttemptSourceEvent
@Internal
public class DynamicFileSplitEnumerator<SplitT extends FileSourceSplit>
extends Object
implements org.apache.flink.api.connector.source.SplitEnumerator<SplitT,PendingSplitsCheckpoint<SplitT>>, org.apache.flink.api.connector.source.SupportsHandleExecutionAttemptSourceEvent
A SplitEnumerator implementation that supports dynamic filtering.
This enumerator handles DynamicFilteringEvent and filter out the desired input splits
with the support of the DynamicFileEnumerator.
If the enumerator receives the first split request before any dynamic filtering data is received, it will enumerate all splits. If a DynamicFilterEvent is received during the fully enumerating, the remaining splits will be filtered accordingly.
-
Constructor Summary
ConstructorsConstructorDescriptionDynamicFileSplitEnumerator(org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT> context, DynamicFileEnumerator.Provider fileEnumeratorFactory, FileSplitAssigner.Provider splitAssignerFactory) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddReader(int subtaskId) voidaddSplitsBack(List<SplitT> splits, int subtaskId) voidclose()voidhandleSourceEvent(int subtaskId, int attemptNumber, org.apache.flink.api.connector.source.SourceEvent sourceEvent) voidhandleSourceEvent(int subtaskId, org.apache.flink.api.connector.source.SourceEvent sourceEvent) voidhandleSplitRequest(int subtask, String hostname) snapshotState(long checkpointId) voidstart()Methods 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
notifyCheckpointAbortedMethods inherited from interface org.apache.flink.api.connector.source.SplitEnumerator
notifyCheckpointComplete
-
Constructor Details
-
DynamicFileSplitEnumerator
public DynamicFileSplitEnumerator(org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT> context, DynamicFileEnumerator.Provider fileEnumeratorFactory, FileSplitAssigner.Provider splitAssignerFactory)
-
-
Method Details
-
start
public void start()- Specified by:
startin interfaceorg.apache.flink.api.connector.source.SplitEnumerator<SplitT extends FileSourceSplit,PendingSplitsCheckpoint<SplitT extends FileSourceSplit>>
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceorg.apache.flink.api.connector.source.SplitEnumerator<SplitT extends FileSourceSplit,PendingSplitsCheckpoint<SplitT extends FileSourceSplit>> - Throws:
IOException
-
addReader
public void addReader(int subtaskId) - Specified by:
addReaderin interfaceorg.apache.flink.api.connector.source.SplitEnumerator<SplitT extends FileSourceSplit,PendingSplitsCheckpoint<SplitT extends FileSourceSplit>>
-
handleSplitRequest
- Specified by:
handleSplitRequestin interfaceorg.apache.flink.api.connector.source.SplitEnumerator<SplitT extends FileSourceSplit,PendingSplitsCheckpoint<SplitT extends FileSourceSplit>>
-
handleSourceEvent
public void handleSourceEvent(int subtaskId, org.apache.flink.api.connector.source.SourceEvent sourceEvent) - Specified by:
handleSourceEventin interfaceorg.apache.flink.api.connector.source.SplitEnumerator<SplitT extends FileSourceSplit,PendingSplitsCheckpoint<SplitT extends FileSourceSplit>>
-
addSplitsBack
- Specified by:
addSplitsBackin interfaceorg.apache.flink.api.connector.source.SplitEnumerator<SplitT extends FileSourceSplit,PendingSplitsCheckpoint<SplitT extends FileSourceSplit>>
-
snapshotState
- Specified by:
snapshotStatein interfaceorg.apache.flink.api.connector.source.SplitEnumerator<SplitT extends FileSourceSplit,PendingSplitsCheckpoint<SplitT extends FileSourceSplit>>
-
handleSourceEvent
public void handleSourceEvent(int subtaskId, int attemptNumber, org.apache.flink.api.connector.source.SourceEvent sourceEvent) - Specified by:
handleSourceEventin interfaceorg.apache.flink.api.connector.source.SupportsHandleExecutionAttemptSourceEvent
-