public class HiveCatalog extends BaseMetastoreCatalog implements SupportsNamespaces, org.apache.hadoop.conf.Configurable
BaseMetastoreCatalog.BaseMetastoreCatalogTableBuilderCatalog.TableBuilder| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
HMS_DB_OWNER |
static java.lang.String |
HMS_DB_OWNER_TYPE |
static java.lang.String |
HMS_TABLE_OWNER |
static java.lang.String |
LIST_ALL_TABLES |
static java.lang.String |
LIST_ALL_TABLES_DEFAULT |
| Constructor and Description |
|---|
HiveCatalog() |
| Modifier and Type | Method and Description |
|---|---|
void |
createNamespace(Namespace namespace,
java.util.Map<java.lang.String,java.lang.String> meta)
Create a namespace in the catalog.
|
protected java.lang.String |
defaultWarehouseLocation(TableIdentifier tableIdentifier) |
boolean |
dropNamespace(Namespace namespace)
Drop a namespace.
|
boolean |
dropTable(TableIdentifier identifier,
boolean purge)
Drop a table; optionally delete data and metadata files.
|
org.apache.hadoop.conf.Configuration |
getConf() |
void |
initialize(java.lang.String inputName,
java.util.Map<java.lang.String,java.lang.String> properties)
Initialize a catalog given a custom name and a map of catalog properties.
|
protected boolean |
isValidIdentifier(TableIdentifier tableIdentifier) |
java.util.List<Namespace> |
listNamespaces(Namespace namespace)
List namespaces from the namespace.
|
java.util.List<TableIdentifier> |
listTables(Namespace namespace)
Return all the identifiers under this namespace.
|
java.util.Map<java.lang.String,java.lang.String> |
loadNamespaceMetadata(Namespace namespace)
Load metadata properties for a namespace.
|
java.lang.String |
name()
Return the name for this catalog.
|
TableOperations |
newTableOps(TableIdentifier tableIdentifier) |
protected java.util.Map<java.lang.String,java.lang.String> |
properties() |
boolean |
removeProperties(Namespace namespace,
java.util.Set<java.lang.String> properties)
Remove a set of property keys from a namespace in the catalog.
|
void |
renameTable(TableIdentifier from,
TableIdentifier originalTo)
Rename a table.
|
void |
setConf(org.apache.hadoop.conf.Configuration conf) |
boolean |
setProperties(Namespace namespace,
java.util.Map<java.lang.String,java.lang.String> properties)
Set a collection of properties on a namespace in the catalog.
|
java.lang.String |
toString() |
buildTable, fullTableName, loadTable, registerTableclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcreateNamespace, listNamespaces, namespaceExistscreateTable, createTable, createTable, createTable, dropTable, invalidateTable, newCreateTableTransaction, newCreateTableTransaction, newCreateTableTransaction, newCreateTableTransaction, newReplaceTableTransaction, newReplaceTableTransaction, newReplaceTableTransaction, newReplaceTableTransaction, tableExistspublic static final java.lang.String LIST_ALL_TABLES
public static final java.lang.String LIST_ALL_TABLES_DEFAULT
public static final java.lang.String HMS_TABLE_OWNER
public static final java.lang.String HMS_DB_OWNER
public static final java.lang.String HMS_DB_OWNER_TYPE
public void initialize(java.lang.String inputName,
java.util.Map<java.lang.String,java.lang.String> properties)
CatalogA custom 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.
initialize in interface CataloginputName - a custom name for the catalogproperties - catalog propertiespublic java.util.List<TableIdentifier> listTables(Namespace namespace)
CataloglistTables in interface Catalognamespace - a namespacepublic java.lang.String name()
Catalogpublic boolean dropTable(TableIdentifier identifier, boolean purge)
CatalogIf purge is set to true the implementation should delete all data and metadata files.
public void renameTable(TableIdentifier from, TableIdentifier originalTo)
CatalogrenameTable in interface Catalogfrom - identifier of the table to renameoriginalTo - new table namepublic void createNamespace(Namespace namespace, java.util.Map<java.lang.String,java.lang.String> meta)
SupportsNamespacescreateNamespace in interface SupportsNamespacesnamespace - a multi-part namespacemeta - a string Map of properties for the given namespacepublic java.util.List<Namespace> listNamespaces(Namespace namespace)
SupportsNamespacesFor example, if table a.b.t exists, use 'SELECT NAMESPACE IN a' this method must return
Namepace.of("a","b") Namespace.
listNamespaces in interface SupportsNamespacesNamespace namespublic boolean dropNamespace(Namespace namespace)
SupportsNamespacesdropNamespace in interface SupportsNamespacesnamespace - a namespace. Namespacepublic boolean setProperties(Namespace namespace, java.util.Map<java.lang.String,java.lang.String> properties)
SupportsNamespacesProperties that are not in the given map are not modified or removed by this method.
setProperties in interface SupportsNamespacesnamespace - a namespace. Namespaceproperties - a collection of metadata to apply to the namespacepublic boolean removeProperties(Namespace namespace, java.util.Set<java.lang.String> properties)
SupportsNamespacesProperties that are not in the given set are not modified or removed by this method.
removeProperties in interface SupportsNamespacesnamespace - a namespace. Namespaceproperties - a collection of metadata to apply to the namespacepublic java.util.Map<java.lang.String,java.lang.String> loadNamespaceMetadata(Namespace namespace)
SupportsNamespacesloadNamespaceMetadata in interface SupportsNamespacesnamespace - a namespace. Namespaceprotected boolean isValidIdentifier(TableIdentifier tableIdentifier)
isValidIdentifier in class BaseMetastoreCatalogpublic TableOperations newTableOps(TableIdentifier tableIdentifier)
newTableOps in class BaseMetastoreCatalogprotected java.lang.String defaultWarehouseLocation(TableIdentifier tableIdentifier)
defaultWarehouseLocation in class BaseMetastoreCatalogpublic java.lang.String toString()
toString in class BaseMetastoreCatalogpublic void setConf(org.apache.hadoop.conf.Configuration conf)
setConf in interface org.apache.hadoop.conf.Configurablepublic org.apache.hadoop.conf.Configuration getConf()
getConf in interface org.apache.hadoop.conf.Configurableprotected java.util.Map<java.lang.String,java.lang.String> properties()
properties in class BaseMetastoreCatalog