@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
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 and Description |
|---|
DynamicFileSplitEnumerator(org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT> context,
DynamicFileEnumerator.Provider fileEnumeratorFactory,
FileSplitAssigner.Provider splitAssignerFactory) |
| Modifier and Type | Method and Description |
|---|---|
void |
addReader(int subtaskId) |
void |
addSplitsBack(List<SplitT> splits,
int subtaskId) |
void |
close() |
void |
handleSourceEvent(int subtaskId,
int attemptNumber,
org.apache.flink.api.connector.source.SourceEvent sourceEvent) |
void |
handleSourceEvent(int subtaskId,
org.apache.flink.api.connector.source.SourceEvent sourceEvent) |
void |
handleSplitRequest(int subtask,
String hostname) |
PendingSplitsCheckpoint<SplitT> |
snapshotState(long checkpointId) |
void |
start() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitpublic DynamicFileSplitEnumerator(org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT> context, DynamicFileEnumerator.Provider fileEnumeratorFactory, FileSplitAssigner.Provider splitAssignerFactory)
public void start()
start in interface org.apache.flink.api.connector.source.SplitEnumerator<SplitT extends FileSourceSplit,PendingSplitsCheckpoint<SplitT extends FileSourceSplit>>public void close()
throws IOException
close in interface AutoCloseableclose in interface org.apache.flink.api.connector.source.SplitEnumerator<SplitT extends FileSourceSplit,PendingSplitsCheckpoint<SplitT extends FileSourceSplit>>IOExceptionpublic void addReader(int subtaskId)
addReader in interface org.apache.flink.api.connector.source.SplitEnumerator<SplitT extends FileSourceSplit,PendingSplitsCheckpoint<SplitT extends FileSourceSplit>>public void handleSplitRequest(int subtask,
@Nullable
String hostname)
handleSplitRequest in interface org.apache.flink.api.connector.source.SplitEnumerator<SplitT extends FileSourceSplit,PendingSplitsCheckpoint<SplitT extends FileSourceSplit>>public void handleSourceEvent(int subtaskId,
org.apache.flink.api.connector.source.SourceEvent sourceEvent)
handleSourceEvent in interface org.apache.flink.api.connector.source.SplitEnumerator<SplitT extends FileSourceSplit,PendingSplitsCheckpoint<SplitT extends FileSourceSplit>>public void addSplitsBack(List<SplitT> splits, int subtaskId)
addSplitsBack in interface org.apache.flink.api.connector.source.SplitEnumerator<SplitT extends FileSourceSplit,PendingSplitsCheckpoint<SplitT extends FileSourceSplit>>public PendingSplitsCheckpoint<SplitT> snapshotState(long checkpointId)
snapshotState in interface org.apache.flink.api.connector.source.SplitEnumerator<SplitT extends FileSourceSplit,PendingSplitsCheckpoint<SplitT extends FileSourceSplit>>public void handleSourceEvent(int subtaskId,
int attemptNumber,
org.apache.flink.api.connector.source.SourceEvent sourceEvent)
handleSourceEvent in interface org.apache.flink.api.connector.source.SupportsHandleExecutionAttemptSourceEventCopyright © 2014–2025 The Apache Software Foundation. All rights reserved.