Class MonitorSource

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

@Internal public class MonitorSource extends SingleThreadedIteratorSource<org.apache.iceberg.flink.maintenance.operator.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<org.apache.iceberg.flink.maintenance.operator.TableChange> getProducedType()
    • createReader

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