Class IcebergTableLocationProviderBase<TK extends TableKey,TLK extends TableLocationKey>

All Implemented Interfaces:
TableLocationProvider, NamedImplementation
Direct Known Subclasses:
IcebergAutoRefreshTableLocationProvider, IcebergManualRefreshTableLocationProvider, IcebergStaticTableLocationProvider

public abstract class IcebergTableLocationProviderBase<TK extends TableKey,TLK extends TableLocationKey> extends AbstractTableLocationProvider
  • Constructor Details

  • Method Details

    • update

      public abstract void update()
      Update a manually refreshing table location provider with the latest snapshot from the catalog. This will throw an UnsupportedOperationException if the table is not manually refreshing.
    • update

      public abstract void update(long snapshotId)
      Update a manually refreshing table location provider with a specific snapshot from the catalog. If the snapshotId is not found in the list of snapshots for the table, an IllegalArgumentException is thrown. The input snapshot must also be newer (higher in sequence number) than the current snapshot or an IllegalArgumentException is thrown. This will throw an UnsupportedOperationException if the table is not manually refreshing.
      Parameters:
      snapshotId - The identifier of the snapshot to use when updating the table.
    • update

      public abstract void update(org.apache.iceberg.Snapshot snapshot)
      Update a manually refreshing table location provider with a specific snapshot from the catalog. The input snapshot must be newer (higher in sequence number) than the current snapshot or an IllegalArgumentException is thrown. This will throw an UnsupportedOperationException if the table is not manually refreshing.
      Parameters:
      snapshot - The snapshot to use when updating the table.
    • makeTableLocation

      @NotNull protected @NotNull TableLocation makeTableLocation(@NotNull @NotNull TableLocationKey locationKey)
      Description copied from class: AbstractTableLocationProvider
      Make a new implementation-appropriate TableLocation from the supplied key.
      Specified by:
      makeTableLocation in class AbstractTableLocationProvider
      Parameters:
      locationKey - The table location key
      Returns:
      The new TableLocation
    • refreshLocations

      protected void refreshLocations()
      Refresh the table location provider with the latest snapshot from the catalog. This method will identify new locations and removed locations.