Package org.apache.iceberg
Interface TableScan
- 
- All Superinterfaces:
- Scan<TableScan,FileScanTask,CombinedScanTask>
 - All Known Implementing Classes:
- AllDataFilesTable.AllDataFilesTableScan,- AllDeleteFilesTable.AllDeleteFilesTableScan,- AllFilesTable.AllFilesTableScan,- AllManifestsTable.AllManifestsTableScan,- DataFilesTable.DataFilesTableScan,- DataTableScan,- DeleteFilesTable.DeleteFilesTableScan,- FilesTable.FilesTableScan
 
 public interface TableScan extends Scan<TableScan,FileScanTask,CombinedScanTask> API for configuring a table scan.
- 
- 
Method SummaryAll Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default TableScanappendsAfter(long fromSnapshotId)Create a newTableScanto read appended data fromfromSnapshotIdexclusive to the current snapshot inclusive.default TableScanappendsBetween(long fromSnapshotId, long toSnapshotId)Create a newTableScanto read appended data fromfromSnapshotIdexclusive totoSnapshotIdinclusive.TableScanasOfTime(long timestampMillis)Create a newTableScanfrom this scan's configuration that will use the most recent snapshot as of the given time in milliseconds.Expressionfilter()Returns this scan's filterExpression.booleanisCaseSensitive()Returns whether this scan should apply column name case sensitiveness as perScan.caseSensitive(boolean).default TableScanselect(java.lang.String... columns)Create a newTableScanfrom this that will read the given data columns.Snapshotsnapshot()Returns theSnapshotthat will be used by this scan.Tabletable()Returns theTablefrom which this scan loads data.TableScanuseSnapshot(long snapshotId)Create a newTableScanfrom this scan's configuration that will use the given snapshot by ID.- 
Methods inherited from interface org.apache.iceberg.ScancaseSensitive, filter, ignoreResiduals, includeColumnStats, option, planFiles, planTasks, planWith, project, schema, select, splitLookback, splitOpenFileCost, targetSplitSize
 
- 
 
- 
- 
- 
Method Detail- 
useSnapshotTableScan useSnapshot(long snapshotId) Create a newTableScanfrom this scan's configuration that will use the given snapshot by ID.- Parameters:
- snapshotId- a snapshot ID
- Returns:
- a new scan based on this with the given snapshot ID
- Throws:
- java.lang.IllegalArgumentException- if the snapshot cannot be found
 
 - 
asOfTimeTableScan asOfTime(long timestampMillis) Create a newTableScanfrom this scan's configuration that will use the most recent snapshot as of the given time in milliseconds.- Parameters:
- timestampMillis- a timestamp in milliseconds.
- Returns:
- a new scan based on this with the current snapshot at the given time
- Throws:
- java.lang.IllegalArgumentException- if the snapshot cannot be found
 
 - 
selectdefault TableScan select(java.lang.String... columns) Create a newTableScanfrom this that will read the given data columns. This produces an expected schema that includes all fields that are either selected or used by this scan's filter expression.- Parameters:
- columns- column names from the table's schema
- Returns:
- a new scan based on this with the given projection columns
 
 - 
filterExpression filter() Returns this scan's filterExpression.- Returns:
- this scan's filter expression
 
 - 
appendsBetweendefault TableScan appendsBetween(long fromSnapshotId, long toSnapshotId) Create a newTableScanto read appended data fromfromSnapshotIdexclusive totoSnapshotIdinclusive.- Parameters:
- fromSnapshotId- the last snapshot id read by the user, exclusive
- toSnapshotId- read append data up to this snapshot id
- Returns:
- a table scan which can read append data from fromSnapshotIdexclusive and up totoSnapshotIdinclusive
 
 - 
appendsAfterdefault TableScan appendsAfter(long fromSnapshotId) Create a newTableScanto read appended data fromfromSnapshotIdexclusive to the current snapshot inclusive.- Parameters:
- fromSnapshotId- - the last snapshot id read by the user, exclusive
- Returns:
- a table scan which can read append data from fromSnapshotIdexclusive and up to current snapshot inclusive
 
 - 
snapshotSnapshot snapshot() Returns theSnapshotthat will be used by this scan.If the snapshot was not configured using asOfTime(long)oruseSnapshot(long), the current table snapshot will be used.- Returns:
- the Snapshot this scan will use
 
 - 
isCaseSensitiveboolean isCaseSensitive() Returns whether this scan should apply column name case sensitiveness as perScan.caseSensitive(boolean).- Returns:
- true if case sensitive, false otherwise.
 
 
- 
 
-