Class StaticFileSplitEnumerator
- java.lang.Object
-
- org.apache.flink.connector.file.src.impl.StaticFileSplitEnumerator
-
- All Implemented Interfaces:
AutoCloseable,org.apache.flink.api.common.state.CheckpointListener,org.apache.flink.api.connector.source.SplitEnumerator<FileSourceSplit,PendingSplitsCheckpoint<FileSourceSplit>>,org.apache.flink.api.connector.source.SupportsBatchSnapshot
@Internal public class StaticFileSplitEnumerator extends Object implements org.apache.flink.api.connector.source.SplitEnumerator<FileSourceSplit,PendingSplitsCheckpoint<FileSourceSplit>>, org.apache.flink.api.connector.source.SupportsBatchSnapshot
A SplitEnumerator implementation for bounded / batchFileSourceinput.This enumerator takes all files that are present in the configured input directories and assigns them to the readers. Once all files are processed, the source is finished.
The implementation of this class is rather thin. The actual logic for creating the set of FileSourceSplits to process, and the logic to decide which reader gets what split, are in
FileEnumeratorand inFileSplitAssigner, respectively.
-
-
Constructor Summary
Constructors Constructor Description StaticFileSplitEnumerator(org.apache.flink.api.connector.source.SplitEnumeratorContext<FileSourceSplit> context, FileSplitAssigner splitAssigner)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddReader(int subtaskId)voidaddSplitsBack(List<FileSourceSplit> splits, int subtaskId)voidclose()voidhandleSourceEvent(int subtaskId, org.apache.flink.api.connector.source.SourceEvent sourceEvent)voidhandleSplitRequest(int subtask, String hostname)PendingSplitsCheckpoint<FileSourceSplit>snapshotState(long checkpointId)voidstart()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Constructor Detail
-
StaticFileSplitEnumerator
public StaticFileSplitEnumerator(org.apache.flink.api.connector.source.SplitEnumeratorContext<FileSourceSplit> context, FileSplitAssigner splitAssigner)
-
-
Method Detail
-
start
public void start()
- Specified by:
startin interfaceorg.apache.flink.api.connector.source.SplitEnumerator<FileSourceSplit,PendingSplitsCheckpoint<FileSourceSplit>>
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceorg.apache.flink.api.connector.source.SplitEnumerator<FileSourceSplit,PendingSplitsCheckpoint<FileSourceSplit>>- Throws:
IOException
-
addReader
public void addReader(int subtaskId)
- Specified by:
addReaderin interfaceorg.apache.flink.api.connector.source.SplitEnumerator<FileSourceSplit,PendingSplitsCheckpoint<FileSourceSplit>>
-
handleSplitRequest
public void handleSplitRequest(int subtask, @Nullable String hostname)- Specified by:
handleSplitRequestin interfaceorg.apache.flink.api.connector.source.SplitEnumerator<FileSourceSplit,PendingSplitsCheckpoint<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<FileSourceSplit,PendingSplitsCheckpoint<FileSourceSplit>>
-
addSplitsBack
public void addSplitsBack(List<FileSourceSplit> splits, int subtaskId)
- Specified by:
addSplitsBackin interfaceorg.apache.flink.api.connector.source.SplitEnumerator<FileSourceSplit,PendingSplitsCheckpoint<FileSourceSplit>>
-
snapshotState
public PendingSplitsCheckpoint<FileSourceSplit> snapshotState(long checkpointId)
- Specified by:
snapshotStatein interfaceorg.apache.flink.api.connector.source.SplitEnumerator<FileSourceSplit,PendingSplitsCheckpoint<FileSourceSplit>>
-
-