public class HiveTableOperations extends BaseMetastoreTableOperations
BaseMetastoreTableOperations.CommitStatus
ICEBERG_TABLE_TYPE_VALUE, METADATA_LOCATION_PROP, PREVIOUS_METADATA_LOCATION_PROP, TABLE_TYPE_PROP
Modifier | Constructor and Description |
---|---|
protected |
HiveTableOperations(org.apache.hadoop.conf.Configuration conf,
ClientPool metaClients,
FileIO fileIO,
java.lang.String catalogName,
java.lang.String database,
java.lang.String table) |
Modifier and Type | Method and Description |
---|---|
protected void |
doCommit(TableMetadata base,
TableMetadata metadata) |
protected void |
doRefresh() |
FileIO |
io()
Returns a
FileIO to read and write table data and metadata files. |
protected java.lang.String |
tableName()
The full name of the table used for logging purposes only.
|
static java.lang.String |
translateToIcebergProp(java.lang.String hmsProp)
Provides key translation where necessary between Iceberg and HMS props.
|
checkCommitStatus, commit, current, currentMetadataLocation, currentVersion, disableRefresh, locationProvider, metadataFileLocation, refresh, refreshFromMetadataLocation, refreshFromMetadataLocation, refreshFromMetadataLocation, refreshFromMetadataLocation, requestRefresh, temp, writeNewMetadata, writeNewMetadataIfRequired
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
encryption, newSnapshotId
protected HiveTableOperations(org.apache.hadoop.conf.Configuration conf, ClientPool metaClients, FileIO fileIO, java.lang.String catalogName, java.lang.String database, java.lang.String table)
public static java.lang.String translateToIcebergProp(java.lang.String hmsProp)
Example: Deleting data files upon DROP TABLE is enabled using gc.enabled=true in Iceberg and external.table.purge=true in Hive. Hive and Iceberg users are unaware of each other's control flags, therefore inconsistent behaviour can occur from e.g. a Hive user's point of view if external.table.purge=true is set on the HMS table but gc.enabled=false is set on the Iceberg table, resulting in no data file deletion.
hmsProp
- The HMS property that should be translated to Iceberg propertyprotected java.lang.String tableName()
BaseMetastoreTableOperations
tableName
in class BaseMetastoreTableOperations
public FileIO io()
TableOperations
FileIO
to read and write table data and metadata files.protected void doRefresh()
doRefresh
in class BaseMetastoreTableOperations
protected void doCommit(TableMetadata base, TableMetadata metadata)
doCommit
in class BaseMetastoreTableOperations