Interface BatchScan

All Superinterfaces:
Scan<BatchScan,ScanTask,ScanTaskGroup<ScanTask>>
All Known Implementing Classes:
PositionDeletesTable.PositionDeletesBatchScan, SparkDistributedDataScan

public interface BatchScan extends Scan<BatchScan,ScanTask,ScanTaskGroup<ScanTask>>
API for configuring a batch scan.
  • Method Details

    • table

      Table table()
      Returns the Table from which this scan loads data.
      Returns:
      this scan's table
    • useSnapshot

      BatchScan useSnapshot(long snapshotId)
      Create a new BatchScan from this scan's configuration that will use a snapshot with the given ID.
      Parameters:
      snapshotId - a snapshot ID
      Returns:
      a new scan based on this with the given snapshot ID
      Throws:
      IllegalArgumentException - if the snapshot cannot be found
    • useRef

      BatchScan useRef(String ref)
      Create a new BatchScan from this scan's configuration that will use the given reference.
      Parameters:
      ref - a reference
      Returns:
      a new scan based on this with the given reference
      Throws:
      IllegalArgumentException - if the reference with the given name could not be found
    • asOfTime

      BatchScan asOfTime(long timestampMillis)
      Create a new BatchScan from this scan's configuration that will use the most recent snapshot as of the given time in milliseconds on the branch in the scan or main if no branch is set.
      Parameters:
      timestampMillis - a timestamp in milliseconds
      Returns:
      a new scan based on this with the current snapshot at the given time
      Throws:
      IllegalArgumentException - if the snapshot cannot be found or time travel is attempted on a tag
    • snapshot

      Snapshot snapshot()
      Returns the Snapshot that will be used by this scan.

      If the snapshot was not configured using asOfTime(long) or useSnapshot(long), the current table snapshot will be used.

      Returns:
      the Snapshot this scan will use