Package org.apache.iceberg
Class HistoryTable
- java.lang.Object
-
- org.apache.iceberg.BaseMetadataTable
-
- org.apache.iceberg.HistoryTable
-
- All Implemented Interfaces:
java.io.Serializable
,HasTableOperations
,Table
public class HistoryTable extends BaseMetadataTable
ATable
implementation 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
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ExpireSnapshots
expireSnapshots()
Create a newexpire API
to manage snapshots in this table and commit.ManageSnapshots
manageSnapshots()
Create a newmanage snapshots API
to manage snapshots in this table and commit.AppendFiles
newAppend()
Create a newappend API
to add files to this table and commit.DeleteFiles
newDelete()
Create a newdelete API
to replace files in this table and commit.OverwriteFiles
newOverwrite()
Create a newoverwrite API
to overwrite files by a filter expression.ReplacePartitions
newReplacePartitions()
Not recommended: Create a newreplace partitions API
to dynamically overwrite partitions in the table with new data.RewriteFiles
newRewrite()
Create a newrewrite API
to replace files in this table and commit.RowDelta
newRowDelta()
Create a newrow-level delta API
to remove or replace rows in existing data files.TableScan
newScan()
Create a newscan
for this table.Transaction
newTransaction()
Create a newtransaction API
to commit multiple table operations at once.ReplaceSortOrder
replaceSortOrder()
Create a newReplaceSortOrder
to set the table sort order and commit the change.RewriteManifests
rewriteManifests()
Create a newrewrite manifests API
to replace manifests for this table and commit.Schema
schema()
Return theschema
for this table.UpdateLocation
updateLocation()
Create a newUpdateLocation
to update table location and commit the changes.UpdateProperties
updateProperties()
Create a newUpdateProperties
to update table properties and commit the changes.UpdateSchema
updateSchema()
Create a newUpdateSchema
to alter the columns of this table and commit the change.UpdatePartitionSpec
updateSpec()
Create a newUpdatePartitionSpec
to alter the partition spec of this table and commit the change.UpdateStatistics
updateStatistics()
Create a newupdate table statistics API
to add or remove statistics files in this table.-
Methods inherited from class org.apache.iceberg.BaseMetadataTable
currentSnapshot, encryption, history, io, location, locationProvider, name, operations, properties, refresh, refs, schemas, snapshot, snapshots, sortOrder, sortOrders, spec, specs, statisticsFiles, table, toString
-
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
newBatchScan, newFastAppend, newIncrementalAppendScan, newIncrementalChangelogScan, snapshot
-
-
-
-
Method Detail
-
newScan
public TableScan newScan()
Description copied from interface:Table
Create a newscan
for 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:Table
Return theschema
for this table.- Returns:
- this table's schema
-
updateSchema
public UpdateSchema updateSchema()
Description copied from interface:Table
Create a newUpdateSchema
to alter the columns of this table and commit the change.- Specified by:
updateSchema
in interfaceTable
- Returns:
- a new
UpdateSchema
-
updateSpec
public UpdatePartitionSpec updateSpec()
Description copied from interface:Table
Create a newUpdatePartitionSpec
to alter the partition spec of this table and commit the change.- Specified by:
updateSpec
in interfaceTable
- Returns:
- a new
UpdatePartitionSpec
-
updateProperties
public UpdateProperties updateProperties()
Description copied from interface:Table
Create a newUpdateProperties
to update table properties and commit the changes.- Specified by:
updateProperties
in interfaceTable
- Returns:
- a new
UpdateProperties
-
replaceSortOrder
public ReplaceSortOrder replaceSortOrder()
Description copied from interface:Table
Create a newReplaceSortOrder
to set the table sort order and commit the change.- Specified by:
replaceSortOrder
in interfaceTable
- Returns:
- a new
ReplaceSortOrder
-
updateLocation
public UpdateLocation updateLocation()
Description copied from interface:Table
Create a newUpdateLocation
to update table location and commit the changes.- Specified by:
updateLocation
in interfaceTable
- Returns:
- a new
UpdateLocation
-
newAppend
public AppendFiles newAppend()
Description copied from interface:Table
Create a newappend API
to add files to this table and commit.- Specified by:
newAppend
in interfaceTable
- Returns:
- a new
AppendFiles
-
newRewrite
public RewriteFiles newRewrite()
Description copied from interface:Table
Create a newrewrite API
to replace files in this table and commit.- Specified by:
newRewrite
in interfaceTable
- Returns:
- a new
RewriteFiles
-
rewriteManifests
public RewriteManifests rewriteManifests()
Description copied from interface:Table
Create a newrewrite manifests API
to replace manifests for this table and commit.- Specified by:
rewriteManifests
in interfaceTable
- Returns:
- a new
RewriteManifests
-
newOverwrite
public OverwriteFiles newOverwrite()
Description copied from interface:Table
Create a newoverwrite API
to overwrite files by a filter expression.- Specified by:
newOverwrite
in interfaceTable
- Returns:
- a new
OverwriteFiles
-
newRowDelta
public RowDelta newRowDelta()
Description copied from interface:Table
Create a newrow-level delta API
to remove or replace rows in existing data files.- Specified by:
newRowDelta
in interfaceTable
- Returns:
- a new
RowDelta
-
newReplacePartitions
public ReplacePartitions newReplacePartitions()
Description copied from interface:Table
Not recommended: Create a newreplace partitions API
to 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 API
to explicitly overwrite data.- Specified by:
newReplacePartitions
in interfaceTable
- Returns:
- a new
ReplacePartitions
-
newDelete
public DeleteFiles newDelete()
Description copied from interface:Table
Create a newdelete API
to replace files in this table and commit.- Specified by:
newDelete
in interfaceTable
- Returns:
- a new
DeleteFiles
-
updateStatistics
public UpdateStatistics updateStatistics()
Description copied from interface:Table
Create a newupdate table statistics API
to add or remove statistics files in this table.- Specified by:
updateStatistics
in interfaceTable
- Returns:
- a new
UpdateStatistics
-
expireSnapshots
public ExpireSnapshots expireSnapshots()
Description copied from interface:Table
Create a newexpire API
to manage snapshots in this table and commit.- Specified by:
expireSnapshots
in interfaceTable
- Returns:
- a new
ExpireSnapshots
-
manageSnapshots
public ManageSnapshots manageSnapshots()
Description copied from interface:Table
Create a newmanage snapshots API
to manage snapshots in this table and commit.- Specified by:
manageSnapshots
in interfaceTable
- Returns:
- a new
ManageSnapshots
-
newTransaction
public Transaction newTransaction()
Description copied from interface:Table
Create a newtransaction API
to commit multiple table operations at once.- Specified by:
newTransaction
in interfaceTable
- Returns:
- a new
Transaction
-
-