Package org.apache.iceberg
Class HistoryTable
- java.lang.Object
-
- org.apache.iceberg.HistoryTable
-
- All Implemented Interfaces:
java.io.Serializable,HasTableOperations,Table
public class HistoryTable extends java.lang.ObjectATableimplementation that exposes a table's history as rows.History is based on the table's snapshot log, which logs each update to the table's current snapshot.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringPARTITION_FIELD_PREFIX
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SnapshotcurrentSnapshot()Get the currentsnapshotfor this table, or null if there are no snapshots.EncryptionManagerencryption()Returns anEncryptionManagerto encrypt and decrypt data files.ExpireSnapshotsexpireSnapshots()Create a newexpire APIto manage snapshots in this table and commit.java.util.List<HistoryEntry>history()Get the snapshot history of this table.FileIOio()Returns aFileIOto read and write table data and metadata files.java.lang.Stringlocation()Return the table's base location.LocationProviderlocationProvider()Returns aLocationProviderto provide locations for new data files.ManageSnapshotsmanageSnapshots()Create a newmanage snapshots APIto manage snapshots in this table and commit.java.lang.Stringname()Return the full name for this table.AppendFilesnewAppend()Create a newappend APIto add files to this table and commit.DeleteFilesnewDelete()Create a newdelete APIto replace files in this table and commit.OverwriteFilesnewOverwrite()Create a newoverwrite APIto overwrite files by a filter expression.ReplacePartitionsnewReplacePartitions()Not recommended: Create a newreplace partitions APIto dynamically overwrite partitions in the table with new data.RewriteFilesnewRewrite()Create a newrewrite APIto replace files in this table and commit.RowDeltanewRowDelta()Create a newrow-level delta APIto remove or replace rows in existing data files.TableScannewScan()Create a newscanfor this table.TransactionnewTransaction()Create a newtransaction APIto commit multiple table operations at once.TableOperationsoperations()java.util.Map<java.lang.String,java.lang.String>properties()Return a map of string properties for this table.voidrefresh()Refresh the current table metadata.ReplaceSortOrderreplaceSortOrder()Create a newReplaceSortOrderto set the table sort order and commit the change.RewriteManifestsrewriteManifests()Create a newrewrite manifests APIto replace manifests for this table and commit.Rollbackrollback()Create a newrollback APIto roll back to a previous snapshot and commit.Schemaschema()Return theschemafor this table.java.util.Map<java.lang.Integer,Schema>schemas()Return a map ofschemafor this table.Snapshotsnapshot(long snapshotId)Get thesnapshotof this table with the given id, or null if there is no matching snapshot.java.lang.Iterable<Snapshot>snapshots()Get thesnapshotsof this table.SortOrdersortOrder()Return thesort orderfor this table.java.util.Map<java.lang.Integer,SortOrder>sortOrders()Return a map of sort order IDs tosort ordersfor this table.PartitionSpecspec()Return thepartition specfor this table.java.util.Map<java.lang.Integer,PartitionSpec>specs()Return a map ofpartition specsfor this table.protected Tabletable()java.lang.StringtoString()UpdateLocationupdateLocation()Create a newUpdateLocationto update table location and commit the changes.UpdatePropertiesupdateProperties()Create a newUpdatePropertiesto update table properties and commit the changes.UpdateSchemaupdateSchema()Create a newUpdateSchemato alter the columns of this table and commit the change.UpdatePartitionSpecupdateSpec()Create a newUpdatePartitionSpecto alter the partition spec of this table and commit the change.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.iceberg.Table
newFastAppend
-
-
-
-
Field Detail
-
PARTITION_FIELD_PREFIX
protected static final java.lang.String PARTITION_FIELD_PREFIX
- See Also:
- Constant Field Values
-
-
Method Detail
-
newScan
public TableScan newScan()
Description copied from interface:TableCreate a newscanfor this table.Once a table scan is created, it can be refined to project columns and filter data.
- Returns:
- a table scan for this table
-
schema
public Schema schema()
Description copied from interface:TableReturn theschemafor this table.- Returns:
- this table's schema
-
table
protected Table table()
-
operations
public TableOperations operations()
- Specified by:
operationsin interfaceHasTableOperations
-
name
public java.lang.String name()
Description copied from interface:TableReturn the full name for this table.
-
io
public FileIO io()
Description copied from interface:TableReturns aFileIOto read and write table data and metadata files.
-
location
public java.lang.String location()
Description copied from interface:TableReturn the table's base location.
-
encryption
public EncryptionManager encryption()
Description copied from interface:TableReturns anEncryptionManagerto encrypt and decrypt data files.- Specified by:
encryptionin interfaceTable
-
locationProvider
public LocationProvider locationProvider()
Description copied from interface:TableReturns aLocationProviderto provide locations for new data files.- Specified by:
locationProviderin interfaceTable
-
refresh
public void refresh()
Description copied from interface:TableRefresh the current table metadata.
-
schemas
public java.util.Map<java.lang.Integer,Schema> schemas()
Description copied from interface:TableReturn a map ofschemafor this table.
-
spec
public PartitionSpec spec()
Description copied from interface:TableReturn thepartition specfor this table.
-
specs
public java.util.Map<java.lang.Integer,PartitionSpec> specs()
Description copied from interface:TableReturn a map ofpartition specsfor this table.
-
sortOrder
public SortOrder sortOrder()
Description copied from interface:TableReturn thesort orderfor this table.
-
sortOrders
public java.util.Map<java.lang.Integer,SortOrder> sortOrders()
Description copied from interface:TableReturn a map of sort order IDs tosort ordersfor this table.- Specified by:
sortOrdersin interfaceTable- Returns:
- this table's sort orders map
-
properties
public java.util.Map<java.lang.String,java.lang.String> properties()
Description copied from interface:TableReturn a map of string properties for this table.- Specified by:
propertiesin interfaceTable- Returns:
- this table's properties map
-
currentSnapshot
public Snapshot currentSnapshot()
Description copied from interface:TableGet the currentsnapshotfor this table, or null if there are no snapshots.- Specified by:
currentSnapshotin interfaceTable- Returns:
- the current table Snapshot.
-
snapshots
public java.lang.Iterable<Snapshot> snapshots()
Description copied from interface:TableGet thesnapshotsof this table.
-
snapshot
public Snapshot snapshot(long snapshotId)
Description copied from interface:TableGet thesnapshotof this table with the given id, or null if there is no matching snapshot.
-
history
public java.util.List<HistoryEntry> history()
Description copied from interface:TableGet the snapshot history of this table.- Specified by:
historyin interfaceTable- Returns:
- a list of
history entries
-
updateSchema
public UpdateSchema updateSchema()
Description copied from interface:TableCreate a newUpdateSchemato alter the columns of this table and commit the change.- Specified by:
updateSchemain interfaceTable- Returns:
- a new
UpdateSchema
-
updateSpec
public UpdatePartitionSpec updateSpec()
Description copied from interface:TableCreate a newUpdatePartitionSpecto alter the partition spec of this table and commit the change.- Specified by:
updateSpecin interfaceTable- Returns:
- a new
UpdatePartitionSpec
-
updateProperties
public UpdateProperties updateProperties()
Description copied from interface:TableCreate a newUpdatePropertiesto update table properties and commit the changes.- Specified by:
updatePropertiesin interfaceTable- Returns:
- a new
UpdateProperties
-
replaceSortOrder
public ReplaceSortOrder replaceSortOrder()
Description copied from interface:TableCreate a newReplaceSortOrderto set the table sort order and commit the change.- Specified by:
replaceSortOrderin interfaceTable- Returns:
- a new
ReplaceSortOrder
-
updateLocation
public UpdateLocation updateLocation()
Description copied from interface:TableCreate a newUpdateLocationto update table location and commit the changes.- Specified by:
updateLocationin interfaceTable- Returns:
- a new
UpdateLocation
-
newAppend
public AppendFiles newAppend()
Description copied from interface:TableCreate a newappend APIto add files to this table and commit.- Specified by:
newAppendin interfaceTable- Returns:
- a new
AppendFiles
-
newRewrite
public RewriteFiles newRewrite()
Description copied from interface:TableCreate a newrewrite APIto replace files in this table and commit.- Specified by:
newRewritein interfaceTable- Returns:
- a new
RewriteFiles
-
rewriteManifests
public RewriteManifests rewriteManifests()
Description copied from interface:TableCreate a newrewrite manifests APIto replace manifests for this table and commit.- Specified by:
rewriteManifestsin interfaceTable- Returns:
- a new
RewriteManifests
-
newOverwrite
public OverwriteFiles newOverwrite()
Description copied from interface:TableCreate a newoverwrite APIto overwrite files by a filter expression.- Specified by:
newOverwritein interfaceTable- Returns:
- a new
OverwriteFiles
-
newRowDelta
public RowDelta newRowDelta()
Description copied from interface:TableCreate a newrow-level delta APIto remove or replace rows in existing data files.- Specified by:
newRowDeltain interfaceTable- Returns:
- a new
RowDelta
-
newReplacePartitions
public ReplacePartitions newReplacePartitions()
Description copied from interface:TableNot recommended: Create a newreplace partitions APIto dynamically overwrite partitions in the table with new data.This is provided to implement SQL compatible with Hive table operations but is not recommended. Instead, use the
overwrite APIto explicitly overwrite data.- Specified by:
newReplacePartitionsin interfaceTable- Returns:
- a new
ReplacePartitions
-
newDelete
public DeleteFiles newDelete()
Description copied from interface:TableCreate a newdelete APIto replace files in this table and commit.- Specified by:
newDeletein interfaceTable- Returns:
- a new
DeleteFiles
-
expireSnapshots
public ExpireSnapshots expireSnapshots()
Description copied from interface:TableCreate a newexpire APIto manage snapshots in this table and commit.- Specified by:
expireSnapshotsin interfaceTable- Returns:
- a new
ExpireSnapshots
-
rollback
public Rollback rollback()
Description copied from interface:TableCreate a newrollback APIto roll back to a previous snapshot and commit.
-
manageSnapshots
public ManageSnapshots manageSnapshots()
Description copied from interface:TableCreate a newmanage snapshots APIto manage snapshots in this table and commit.- Specified by:
manageSnapshotsin interfaceTable- Returns:
- a new
ManageSnapshots
-
newTransaction
public Transaction newTransaction()
Description copied from interface:TableCreate a newtransaction APIto commit multiple table operations at once.- Specified by:
newTransactionin interfaceTable- Returns:
- a new
Transaction
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-