Package org.apache.iceberg.hive
Class HiveTableOperations
java.lang.Object
org.apache.iceberg.BaseMetastoreOperations
org.apache.iceberg.BaseMetastoreTableOperations
org.apache.iceberg.hive.HiveTableOperations
- All Implemented Interfaces:
TableOperations
TODO we should be able to extract some more commonalities to BaseMetastoreTableOperations to
avoid code duplication between this class and Metacat Tables.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.iceberg.BaseMetastoreOperations
BaseMetastoreOperations.CommitStatus -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final longstatic final Stringstatic final Stringstatic final StringFields inherited from class org.apache.iceberg.BaseMetastoreTableOperations
ICEBERG_TABLE_TYPE_VALUE, METADATA_HASH_PROP, METADATA_LOCATION_PROP, PREVIOUS_METADATA_LOCATION_PROP, TABLE_TYPE_PROP -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedHiveTableOperations(org.apache.hadoop.conf.Configuration conf, ClientPool<org.apache.hadoop.hive.metastore.IMetaStoreClient, org.apache.thrift.TException> metaClients, FileIO fileIO, KeyManagementClient keyManagementClient, String catalogName, String database, String table) -
Method Summary
Modifier and TypeMethodDescriptiondatabase()protected voiddoCommit(TableMetadata base, TableMetadata metadata) protected voidReturns aEncryptionManagerto encrypt and decrypt data files.hmsEnvContext(String metadataLocation) io()Returns aFileIOto read and write table data and metadata files.default org.apache.hadoop.hive.metastore.api.TablelongClientPool<org.apache.hadoop.hive.metastore.IMetaStoreClient, org.apache.thrift.TException> default org.apache.hadoop.hive.metastore.api.TablenewHmsTable(String hmsTableOwner) default voidpersistTable(org.apache.hadoop.hive.metastore.api.Table hmsTable, boolean updateHiveTable, String metadataLocation) table()protected StringThe full name of the table used for logging purposes only.org.apache.hadoop.hive.metastore.TableTypetemp(TableMetadata uncommittedMetadata) Return a temporaryTableOperationsinstance that uses configuration from uncommitted metadata.Methods inherited from class org.apache.iceberg.BaseMetastoreTableOperations
checkCommitStatus, checkCommitStatusStrict, commit, current, currentMetadataLocation, currentVersion, disableRefresh, locationProvider, metadataFileLocation, metadataFileLocation, refresh, refreshFromMetadataLocation, refreshFromMetadataLocation, refreshFromMetadataLocation, refreshFromMetadataLocation, requestRefresh, writeNewMetadata, writeNewMetadataIfRequiredMethods inherited from class org.apache.iceberg.BaseMetastoreOperations
checkCommitStatus, checkCommitStatusStrictMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.iceberg.TableOperations
newSnapshotId, requireStrictCleanup
-
Field Details
-
HIVE_TABLE_PROPERTY_MAX_SIZE
- See Also:
-
HIVE_TABLE_PROPERTY_MAX_SIZE_DEFAULT
static final long HIVE_TABLE_PROPERTY_MAX_SIZE_DEFAULT- See Also:
-
NO_LOCK_EXPECTED_KEY
- See Also:
-
NO_LOCK_EXPECTED_VALUE
- See Also:
-
ICEBERG_VIEW_TYPE_VALUE
- See Also:
-
-
Constructor Details
-
HiveTableOperations
protected HiveTableOperations(org.apache.hadoop.conf.Configuration conf, ClientPool<org.apache.hadoop.hive.metastore.IMetaStoreClient, org.apache.thrift.TException> metaClients, FileIO fileIO, KeyManagementClient keyManagementClient, String catalogName, String database, String table)
-
-
Method Details
-
tableName
Description copied from class:BaseMetastoreTableOperationsThe full name of the table used for logging purposes only. For example for HiveTableOperations it is catalogName + "." + database + "." + table.- Specified by:
tableNamein classBaseMetastoreTableOperations- Returns:
- The full name
-
io
Description copied from interface:TableOperationsReturns aFileIOto read and write table data and metadata files.- Specified by:
ioin interfaceTableOperations
-
encryption
Description copied from interface:TableOperationsReturns aEncryptionManagerto encrypt and decrypt data files.- Specified by:
encryptionin interfaceTableOperations
-
doRefresh
protected void doRefresh()- Overrides:
doRefreshin classBaseMetastoreTableOperations
-
doCommit
- Overrides:
doCommitin classBaseMetastoreTableOperations
-
maxHiveTablePropertySize
public long maxHiveTablePropertySize() -
database
-
table
-
tableType
public org.apache.hadoop.hive.metastore.TableType tableType() -
metaClients
public ClientPool<org.apache.hadoop.hive.metastore.IMetaStoreClient,org.apache.thrift.TException> metaClients() -
temp
Description copied from interface:TableOperationsReturn a temporaryTableOperationsinstance that uses configuration from uncommitted metadata.This is called by transactions when uncommitted table metadata should be used; for example, to create a metadata file location based on metadata in the transaction that has not been committed.
Transactions will not call
TableOperations.refresh()orTableOperations.commit(TableMetadata, TableMetadata).- Specified by:
tempin interfaceTableOperations- Overrides:
tempin classBaseMetastoreTableOperations- Parameters:
uncommittedMetadata- uncommitted table metadata- Returns:
- a temporary table operations that behaves like the uncommitted metadata is current
-
loadHmsTable
default org.apache.hadoop.hive.metastore.api.Table loadHmsTable() throws org.apache.thrift.TException, InterruptedException- Throws:
org.apache.thrift.TExceptionInterruptedException
-
hmsEnvContext
-
persistTable
default void persistTable(org.apache.hadoop.hive.metastore.api.Table hmsTable, boolean updateHiveTable, String metadataLocation) throws org.apache.thrift.TException, InterruptedException - Throws:
org.apache.thrift.TExceptionInterruptedException
-
newHmsTable
-