Class FlussSplitReader

  • All Implemented Interfaces:
    AutoCloseable, org.apache.flink.connector.base.source.reader.splitreader.SplitReader<FlussSourceRecord,​FlussSplitBase>

    public class FlussSplitReader
    extends Object
    implements org.apache.flink.connector.base.source.reader.splitreader.SplitReader<FlussSourceRecord,​FlussSplitBase>
    A SplitReader implementation for Fluss. It reads change log records from Fluss log scanners and wraps them as FlussSourceRecords, which include the table context (table path and row type) needed for downstream deserialization.

    For each table, a single Fluss LogScanner is shared across all bucket-level splits.

    • Method Detail

      • handleSplitsChanges

        public void handleSplitsChanges​(org.apache.flink.connector.base.source.reader.splitreader.SplitsChange<FlussSplitBase> splitsChanges)
        Specified by:
        handleSplitsChanges in interface org.apache.flink.connector.base.source.reader.splitreader.SplitReader<FlussSourceRecord,​FlussSplitBase>
      • getOrCreateTable

        protected org.apache.fluss.client.table.Table getOrCreateTable​(org.apache.fluss.metadata.TablePath tablePath)
      • getRowType

        protected org.apache.fluss.types.RowType getRowType​(org.apache.fluss.metadata.TablePath tablePath)
      • getPrimaryKeyNames

        protected List<String> getPrimaryKeyNames​(org.apache.fluss.metadata.TablePath tablePath)
      • getPartitionKeyNames

        protected List<String> getPartitionKeyNames​(org.apache.fluss.metadata.TablePath tablePath)
      • wakeUp

        public void wakeUp()
        Specified by:
        wakeUp in interface org.apache.flink.connector.base.source.reader.splitreader.SplitReader<FlussSourceRecord,​FlussSplitBase>