Class AbstractFileSource<T,SplitT extends FileSourceSplit>
- java.lang.Object
-
- org.apache.flink.connector.file.src.AbstractFileSource<T,SplitT>
-
- Type Parameters:
T- The type of the events/records produced by this source.SplitT- The subclass type of the FileSourceSplit used by the source implementation.
- All Implemented Interfaces:
Serializable,org.apache.flink.api.connector.source.Source<T,SplitT,PendingSplitsCheckpoint<SplitT>>,org.apache.flink.api.connector.source.SourceReaderFactory<T,SplitT>,org.apache.flink.api.java.typeutils.ResultTypeQueryable<T>
- Direct Known Subclasses:
FileSource
@PublicEvolving public abstract class AbstractFileSource<T,SplitT extends FileSourceSplit> extends Object implements org.apache.flink.api.connector.source.Source<T,SplitT,PendingSplitsCheckpoint<SplitT>>, org.apache.flink.api.java.typeutils.ResultTypeQueryable<T>
The base class for File Sources. The main implementation to use is theFileSource, which also has the majority of the documentation.To read new formats, one commonly does NOT need to extend this class, but should implement a new Format Reader (like
StreamFormat,BulkFormatand use it with theFileSource.The only reason to extend this class is when a source needs a different type of split, meaning an extension of the
FileSourceSplitto carry additional information.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classAbstractFileSource.AbstractFileSourceBuilder<T,SplitT extends FileSourceSplit,SELF extends AbstractFileSource.AbstractFileSourceBuilder<T,SplitT,SELF>>The generic base builder.
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractFileSource(org.apache.flink.core.fs.Path[] inputPaths, FileEnumerator.Provider fileEnumerator, FileSplitAssigner.Provider splitAssigner, BulkFormat<T,SplitT> readerFormat, ContinuousEnumerationSettings continuousEnumerationSettings)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description org.apache.flink.api.connector.source.SplitEnumerator<SplitT,PendingSplitsCheckpoint<SplitT>>createEnumerator(org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT> enumContext)org.apache.flink.api.connector.source.SourceReader<T,SplitT>createReader(org.apache.flink.api.connector.source.SourceReaderContext readerContext)FileSplitAssigner.ProvidergetAssignerFactory()org.apache.flink.api.connector.source.BoundednessgetBoundedness()ContinuousEnumerationSettingsgetContinuousEnumerationSettings()org.apache.flink.core.io.SimpleVersionedSerializer<PendingSplitsCheckpoint<SplitT>>getEnumeratorCheckpointSerializer()protected FileEnumerator.ProvidergetEnumeratorFactory()org.apache.flink.api.common.typeinfo.TypeInformation<T>getProducedType()abstract org.apache.flink.core.io.SimpleVersionedSerializer<SplitT>getSplitSerializer()org.apache.flink.api.connector.source.SplitEnumerator<SplitT,PendingSplitsCheckpoint<SplitT>>restoreEnumerator(org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT> enumContext, PendingSplitsCheckpoint<SplitT> checkpoint)
-
-
-
Constructor Detail
-
AbstractFileSource
protected AbstractFileSource(org.apache.flink.core.fs.Path[] inputPaths, FileEnumerator.Provider fileEnumerator, FileSplitAssigner.Provider splitAssigner, BulkFormat<T,SplitT> readerFormat, @Nullable ContinuousEnumerationSettings continuousEnumerationSettings)
-
-
Method Detail
-
getEnumeratorFactory
protected FileEnumerator.Provider getEnumeratorFactory()
-
getAssignerFactory
public FileSplitAssigner.Provider getAssignerFactory()
-
getContinuousEnumerationSettings
@Nullable public ContinuousEnumerationSettings getContinuousEnumerationSettings()
-
getBoundedness
public org.apache.flink.api.connector.source.Boundedness getBoundedness()
- Specified by:
getBoundednessin interfaceorg.apache.flink.api.connector.source.Source<T,SplitT extends FileSourceSplit,PendingSplitsCheckpoint<SplitT extends FileSourceSplit>>
-
createReader
public org.apache.flink.api.connector.source.SourceReader<T,SplitT> createReader(org.apache.flink.api.connector.source.SourceReaderContext readerContext)
- Specified by:
createReaderin interfaceorg.apache.flink.api.connector.source.SourceReaderFactory<T,SplitT extends FileSourceSplit>
-
createEnumerator
public org.apache.flink.api.connector.source.SplitEnumerator<SplitT,PendingSplitsCheckpoint<SplitT>> createEnumerator(org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT> enumContext)
- Specified by:
createEnumeratorin interfaceorg.apache.flink.api.connector.source.Source<T,SplitT extends FileSourceSplit,PendingSplitsCheckpoint<SplitT extends FileSourceSplit>>
-
restoreEnumerator
public org.apache.flink.api.connector.source.SplitEnumerator<SplitT,PendingSplitsCheckpoint<SplitT>> restoreEnumerator(org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT> enumContext, PendingSplitsCheckpoint<SplitT> checkpoint)
- Specified by:
restoreEnumeratorin interfaceorg.apache.flink.api.connector.source.Source<T,SplitT extends FileSourceSplit,PendingSplitsCheckpoint<SplitT extends FileSourceSplit>>
-
getSplitSerializer
public abstract org.apache.flink.core.io.SimpleVersionedSerializer<SplitT> getSplitSerializer()
- Specified by:
getSplitSerializerin interfaceorg.apache.flink.api.connector.source.Source<T,SplitT extends FileSourceSplit,PendingSplitsCheckpoint<SplitT extends FileSourceSplit>>
-
getEnumeratorCheckpointSerializer
public org.apache.flink.core.io.SimpleVersionedSerializer<PendingSplitsCheckpoint<SplitT>> getEnumeratorCheckpointSerializer()
- Specified by:
getEnumeratorCheckpointSerializerin interfaceorg.apache.flink.api.connector.source.Source<T,SplitT extends FileSourceSplit,PendingSplitsCheckpoint<SplitT extends FileSourceSplit>>
-
-