Package org.apache.iceberg.hive
Class HiveCatalog
java.lang.Object
org.apache.iceberg.BaseMetastoreCatalog
org.apache.iceberg.view.BaseMetastoreViewCatalog
org.apache.iceberg.hive.HiveCatalog
- All Implemented Interfaces:
- Closeable,- AutoCloseable,- org.apache.hadoop.conf.Configurable,- Catalog,- SupportsNamespaces,- ViewCatalog
public class HiveCatalog
extends BaseMetastoreViewCatalog
implements SupportsNamespaces, org.apache.hadoop.conf.Configurable
- 
Nested Class SummaryNested classes/interfaces inherited from class org.apache.iceberg.view.BaseMetastoreViewCatalogBaseMetastoreViewCatalog.BaseMetastoreViewCatalogTableBuilder, BaseMetastoreViewCatalog.BaseViewBuilderNested classes/interfaces inherited from class org.apache.iceberg.BaseMetastoreCatalogBaseMetastoreCatalog.BaseMetastoreCatalogTableBuilderNested classes/interfaces inherited from interface org.apache.iceberg.catalog.CatalogCatalog.TableBuilder
- 
Field SummaryFields
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionbuildTable(TableIdentifier identifier, Schema schema) Instantiate a builder to either create a table or start a create/replace transaction.buildView(TableIdentifier identifier) Instantiate a builder to create or replace a SQL view.voidcreateNamespace(Namespace namespace, Map<String, String> meta) Create a namespace in the catalog.protected StringdefaultWarehouseLocation(TableIdentifier tableIdentifier) booleandropNamespace(Namespace namespace) Drop a namespace.booleandropTable(TableIdentifier identifier, boolean purge) Drop a table; optionally delete data and metadata files.booleandropView(TableIdentifier identifier) Drop a view.org.apache.hadoop.conf.ConfigurationgetConf()voidinitialize(String inputName, Map<String, String> properties) Initialize a view catalog given a custom name and a map of catalog properties.protected booleanisValidIdentifier(TableIdentifier tableIdentifier) listNamespaces(Namespace namespace) List child namespaces from the namespace.listTables(Namespace namespace) Return all the identifiers under this namespace.Return all the identifiers under this namespace.loadNamespaceMetadata(Namespace namespace) Load metadata properties for a namespace.name()Return the name for this catalog.newTableOps(TableIdentifier tableIdentifier) protected ViewOperationsnewViewOps(TableIdentifier identifier) booleanremoveProperties(Namespace namespace, Set<String> properties) Remove a set of property keys from a namespace in the catalog.voidrenameTable(TableIdentifier from, TableIdentifier originalTo) Rename a table.voidrenameView(TableIdentifier from, TableIdentifier to) Rename a view.voidsetConf(org.apache.hadoop.conf.Configuration conf) booleansetProperties(Namespace namespace, Map<String, String> properties) Set a collection of properties on a namespace in the catalog.booleantableExists(TableIdentifier identifier) Check whether table or metadata table exists.toString()booleanviewExists(TableIdentifier viewIdentifier) Check whether view exists.Methods inherited from class org.apache.iceberg.view.BaseMetastoreViewCatalogloadViewMethods inherited from class org.apache.iceberg.BaseMetastoreCatalogclose, fullTableName, isValidMetadataIdentifier, loadTable, metricsReporter, registerTableMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.iceberg.catalog.CatalogcreateTable, createTable, createTable, createTable, dropTable, invalidateTable, newCreateTableTransaction, newCreateTableTransaction, newCreateTableTransaction, newCreateTableTransaction, newReplaceTableTransaction, newReplaceTableTransaction, newReplaceTableTransaction, newReplaceTableTransactionMethods inherited from interface org.apache.iceberg.catalog.SupportsNamespacescreateNamespace, listNamespaces, namespaceExistsMethods inherited from interface org.apache.iceberg.catalog.ViewCataloginvalidateView
- 
Field Details- 
LIST_ALL_TABLES- See Also:
 
- 
LIST_ALL_TABLES_DEFAULT- See Also:
 
- 
HMS_TABLE_OWNER- See Also:
 
- 
HMS_DB_OWNER- See Also:
 
- 
HMS_DB_OWNER_TYPE- See Also:
 
 
- 
- 
Constructor Details- 
HiveCatalogpublic HiveCatalog()
 
- 
- 
Method Details- 
initializeDescription copied from interface:ViewCatalogInitialize a view catalog given a custom name and a map of catalog properties.A custom view catalog implementation must have a no-arg constructor. A compute engine like Spark or Flink will first initialize the catalog without any arguments, and then call this method to complete catalog initialization with properties passed into the engine. - Specified by:
- initializein interface- Catalog
- Specified by:
- initializein interface- ViewCatalog
- Overrides:
- initializein class- BaseMetastoreViewCatalog
- Parameters:
- inputName- a custom name for the catalog
- properties- catalog properties
 
- 
buildTableDescription copied from interface:CatalogInstantiate a builder to either create a table or start a create/replace transaction.- Specified by:
- buildTablein interface- Catalog
- Overrides:
- buildTablein class- BaseMetastoreViewCatalog
- Parameters:
- identifier- a table identifier
- schema- a schema
- Returns:
- the builder to create a table or start a create/replace transaction
 
- 
buildViewDescription copied from interface:ViewCatalogInstantiate a builder to create or replace a SQL view.- Specified by:
- buildViewin interface- ViewCatalog
- Overrides:
- buildViewin class- BaseMetastoreViewCatalog
- Parameters:
- identifier- a view identifier
- Returns:
- a view builder
 
- 
listTablesDescription copied from interface:CatalogReturn all the identifiers under this namespace.- Specified by:
- listTablesin interface- Catalog
- Parameters:
- namespace- a namespace
- Returns:
- a list of identifiers for tables
 
- 
listViewsDescription copied from interface:ViewCatalogReturn all the identifiers under this namespace.- Specified by:
- listViewsin interface- ViewCatalog
- Parameters:
- namespace- a namespace
- Returns:
- a list of identifiers for views
 
- 
nameDescription copied from interface:ViewCatalogReturn the name for this catalog.- Specified by:
- namein interface- Catalog
- Specified by:
- namein interface- ViewCatalog
- Overrides:
- namein class- BaseMetastoreViewCatalog
- Returns:
- this catalog's name
 
- 
dropTableDescription copied from interface:CatalogDrop a table; optionally delete data and metadata files.If purge is set to true the implementation should delete all data and metadata files. 
- 
dropViewDescription copied from interface:ViewCatalogDrop a view.- Specified by:
- dropViewin interface- ViewCatalog
- Parameters:
- identifier- a view identifier
- Returns:
- true if the view was dropped, false if the view did not exist
 
- 
renameTableDescription copied from interface:CatalogRename a table.- Specified by:
- renameTablein interface- Catalog
- Parameters:
- from- identifier of the table to rename
- originalTo- new table name
 
- 
renameViewDescription copied from interface:ViewCatalogRename a view.- Specified by:
- renameViewin interface- ViewCatalog
- Parameters:
- from- identifier of the view to rename
- to- new view identifier
 
- 
tableExistsCheck whether table or metadata table exists.Note: If a hive table with the same identifier exists in catalog, this method will return false.- Specified by:
- tableExistsin interface- Catalog
- Parameters:
- identifier- a table identifier
- Returns:
- true if the table exists, false otherwise
 
- 
viewExistsDescription copied from interface:ViewCatalogCheck whether view exists.- Specified by:
- viewExistsin interface- ViewCatalog
- Parameters:
- viewIdentifier- a view identifier
- Returns:
- true if the view exists, false otherwise
 
- 
createNamespaceDescription copied from interface:SupportsNamespacesCreate a namespace in the catalog.- Specified by:
- createNamespacein interface- SupportsNamespaces
- Parameters:
- namespace- a multi-part namespace
- meta- a string Map of properties for the given namespace
 
- 
listNamespacesDescription copied from interface:SupportsNamespacesList child namespaces from the namespace.For two existing tables named 'a.b.c.table' and 'a.b.d.table', this method returns: - Given: Namespace.empty()
- Returns: Namespace.of("a")
 - Given: Namespace.of("a")
- Returns: Namespace.of("a", "b")
 - Given: Namespace.of("a", "b")
- Returns: Namespace.of("a", "b", "c")andNamespace.of("a", "b", "d")
 - Given: Namespace.of("a", "b", "c")
- Returns: empty list, because there are no child namespaces
 - Specified by:
- listNamespacesin interface- SupportsNamespaces
- Returns:
- a List of child Namespacenames from the given namespace
 
- Given: 
- 
dropNamespaceDescription copied from interface:SupportsNamespacesDrop a namespace. If the namespace exists and was dropped, this will return true.- Specified by:
- dropNamespacein interface- SupportsNamespaces
- Parameters:
- namespace- a namespace.- Namespace
- Returns:
- true if the namespace was dropped, false otherwise.
 
- 
setPropertiesDescription copied from interface:SupportsNamespacesSet a collection of properties on a namespace in the catalog.Properties that are not in the given map are not modified or removed by this method. - Specified by:
- setPropertiesin interface- SupportsNamespaces
- Parameters:
- namespace- a namespace.- Namespace
- properties- a collection of metadata to apply to the namespace
 
- 
removePropertiesDescription copied from interface:SupportsNamespacesRemove a set of property keys from a namespace in the catalog.Properties that are not in the given set are not modified or removed by this method. - Specified by:
- removePropertiesin interface- SupportsNamespaces
- Parameters:
- namespace- a namespace.- Namespace
- properties- a collection of metadata to apply to the namespace
 
- 
loadNamespaceMetadataDescription copied from interface:SupportsNamespacesLoad metadata properties for a namespace.- Specified by:
- loadNamespaceMetadatain interface- SupportsNamespaces
- Parameters:
- namespace- a namespace.- Namespace
- Returns:
- a string map of properties for the given namespace
 
- 
isValidIdentifier- Overrides:
- isValidIdentifierin class- BaseMetastoreCatalog
 
- 
newTableOps- Specified by:
- newTableOpsin class- BaseMetastoreCatalog
 
- 
newViewOps- Specified by:
- newViewOpsin class- BaseMetastoreViewCatalog
 
- 
defaultWarehouseLocation- Specified by:
- defaultWarehouseLocationin class- BaseMetastoreCatalog
 
- 
toString- Overrides:
- toStringin class- BaseMetastoreCatalog
 
- 
setConfpublic void setConf(org.apache.hadoop.conf.Configuration conf) - Specified by:
- setConfin interface- org.apache.hadoop.conf.Configurable
 
- 
getConfpublic org.apache.hadoop.conf.Configuration getConf()- Specified by:
- getConfin interface- org.apache.hadoop.conf.Configurable
 
- 
properties- Overrides:
- propertiesin class- BaseMetastoreCatalog
 
 
-