Class MonitorSource

All Implemented Interfaces:
Serializable, org.apache.flink.api.connector.source.Source<TableChange,org.apache.iceberg.flink.maintenance.operator.SingleThreadedIteratorSource.GlobalSplit<TableChange>,Collection<org.apache.iceberg.flink.maintenance.operator.SingleThreadedIteratorSource.GlobalSplit<TableChange>>>, org.apache.flink.api.connector.source.SourceReaderFactory<TableChange,org.apache.iceberg.flink.maintenance.operator.SingleThreadedIteratorSource.GlobalSplit<TableChange>>, org.apache.flink.api.java.typeutils.ResultTypeQueryable<TableChange>

@Internal public class MonitorSource extends SingleThreadedIteratorSource<TableChange>
Monitors an Iceberg table for changes
See Also:
  • Constructor Details

    • MonitorSource

      public MonitorSource(TableLoader tableLoader, org.apache.flink.api.connector.source.util.ratelimit.RateLimiterStrategy rateLimiterStrategy, long maxReadBack)
      Creates a Source which monitors an Iceberg table for changes.
      Parameters:
      tableLoader - used for accessing the table
      rateLimiterStrategy - limits the frequency the table is checked
      maxReadBack - sets the number of snapshots read before stopping change collection
  • Method Details

    • getBoundedness

      public org.apache.flink.api.connector.source.Boundedness getBoundedness()
    • getProducedType

      public org.apache.flink.api.common.typeinfo.TypeInformation<TableChange> getProducedType()
    • createReader

      public org.apache.flink.api.connector.source.SourceReader<TableChange,org.apache.iceberg.flink.maintenance.operator.SingleThreadedIteratorSource.GlobalSplit<TableChange>> createReader(org.apache.flink.api.connector.source.SourceReaderContext readerContext) throws Exception
      Specified by:
      createReader in interface org.apache.flink.api.connector.source.SourceReaderFactory<TableChange,org.apache.iceberg.flink.maintenance.operator.SingleThreadedIteratorSource.GlobalSplit<TableChange>>
      Overrides:
      createReader in class SingleThreadedIteratorSource<TableChange>
      Throws:
      Exception