Class FlussSplitBase
- java.lang.Object
-
- org.apache.flink.cdc.connectors.fluss.source.split.FlussSplitBase
-
- All Implemented Interfaces:
org.apache.flink.api.connector.source.SourceSplit
- Direct Known Subclasses:
FlussLogSplit,FlussSnapshotSplit
public abstract class FlussSplitBase extends Object implements org.apache.flink.api.connector.source.SourceSplit
Abstract base class for all Fluss source splits. Each split corresponds to a single bucket of a single table, optionally within a specific partition.Concrete subclasses include:
FlussLogSplit: reads change log records from a starting offset.FlussSnapshotSplit: reads a bounded KV snapshot.FlussHybridSnapshotLogSplit: first reads a KV snapshot, then switches to reading change log from the snapshot's log offset.
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.fluss.types.RowTyperowTypeTheRowTypecorresponding toschemaId.protected IntegerschemaIdThe schema ID of the last record processed by this split.protected org.apache.fluss.metadata.TableBuckettableBucketprotected org.apache.fluss.metadata.PhysicalTablePathtablePath
-
Constructor Summary
Constructors Modifier Constructor Description protectedFlussSplitBase(org.apache.fluss.metadata.PhysicalTablePath tablePath, org.apache.fluss.metadata.TableBucket tableBucket)protectedFlussSplitBase(org.apache.fluss.metadata.PhysicalTablePath tablePath, org.apache.fluss.metadata.TableBucket tableBucket, Integer schemaId, org.apache.fluss.types.RowType rowType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FlussHybridSnapshotLogSplitasHybridSnapshotLogSplit()FlussLogSplitasLogSplit()FlussSnapshotSplitasSnapshotSplit()org.apache.fluss.metadata.PhysicalTablePathgetPhysicalTablePath()org.apache.fluss.types.RowTypegetRowType()IntegergetSchemaId()org.apache.fluss.metadata.TableBucketgetTableBucket()org.apache.fluss.metadata.TablePathgetTablePath()Convenience method returning the logicalTablePath(database + table name).booleanisHybridSnapshotLogSplit()booleanisLogSplit()booleanisSnapshotSplit()StringsplitId()
-
-
-
Field Detail
-
tablePath
protected final org.apache.fluss.metadata.PhysicalTablePath tablePath
-
tableBucket
protected final org.apache.fluss.metadata.TableBucket tableBucket
-
schemaId
@Nullable protected final Integer schemaId
The schema ID of the last record processed by this split.nullwhen created by the enumerator (unknown until records are read).
-
-
Method Detail
-
splitId
public String splitId()
- Specified by:
splitIdin interfaceorg.apache.flink.api.connector.source.SourceSplit
-
getPhysicalTablePath
public org.apache.fluss.metadata.PhysicalTablePath getPhysicalTablePath()
-
getTablePath
public org.apache.fluss.metadata.TablePath getTablePath()
Convenience method returning the logicalTablePath(database + table name).
-
getTableBucket
public org.apache.fluss.metadata.TableBucket getTableBucket()
-
getRowType
@Nullable public org.apache.fluss.types.RowType getRowType()
-
isLogSplit
public boolean isLogSplit()
-
isSnapshotSplit
public boolean isSnapshotSplit()
-
isHybridSnapshotLogSplit
public boolean isHybridSnapshotLogSplit()
-
asLogSplit
public FlussLogSplit asLogSplit()
-
asSnapshotSplit
public FlussSnapshotSplit asSnapshotSplit()
-
asHybridSnapshotLogSplit
public FlussHybridSnapshotLogSplit asHybridSnapshotLogSplit()
-
-