public class HadoopCatalog extends BaseMetastoreCatalog implements java.io.Closeable, SupportsNamespaces, org.apache.hadoop.conf.Configurable
Catalog.createTable(org.apache.iceberg.catalog.TableIdentifier, org.apache.iceberg.Schema, org.apache.iceberg.PartitionSpec, java.lang.String, java.util.Map<java.lang.String, java.lang.String>),
Catalog.dropTable(org.apache.iceberg.catalog.TableIdentifier), the Catalog.renameTable(org.apache.iceberg.catalog.TableIdentifier, org.apache.iceberg.catalog.TableIdentifier)
is not supported yet.
Note: The HadoopCatalog requires that the underlying file system supports atomic rename.BaseMetastoreCatalog.BaseMetastoreCatalogTableBuilderCatalog.TableBuilder| Constructor and Description |
|---|
HadoopCatalog() |
HadoopCatalog(org.apache.hadoop.conf.Configuration conf)
The constructor of the HadoopCatalog.
|
HadoopCatalog(org.apache.hadoop.conf.Configuration conf,
java.lang.String warehouseLocation)
The constructor of the HadoopCatalog.
|
HadoopCatalog(java.lang.String name,
org.apache.hadoop.conf.Configuration conf,
java.lang.String warehouseLocation)
Deprecated.
please use the no-arg constructor, setConf and initialize to construct the catalog. Will be removed in
v0.12.0
|
HadoopCatalog(java.lang.String name,
org.apache.hadoop.conf.Configuration conf,
java.lang.String warehouseLocation,
java.util.Map<java.lang.String,java.lang.String> properties)
Deprecated.
please use the no-arg constructor, setConf and initialize to construct the catalog. Will be removed in
v0.12.0
|
| Modifier and Type | Method and Description |
|---|---|
Catalog.TableBuilder |
buildTable(TableIdentifier identifier,
Schema schema)
Instantiate a builder to either create a table or start a create/replace transaction.
|
void |
close() |
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 name,
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 identifier) |
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.
|
protected TableOperations |
newTableOps(TableIdentifier identifier) |
boolean |
removeProperties(Namespace namespace,
java.util.Set<java.lang.String> properties)
Remove a set of metadata from a namespace in the catalog.
|
void |
renameTable(TableIdentifier from,
TableIdentifier to)
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)
Apply a set of metadata to a namespace in the catalog.
|
java.lang.String |
toString() |
createTable, fullTableName, loadTable, newCreateTableTransaction, newReplaceTableTransactionclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcreateNamespace, listNamespaces, namespaceExistscreateTable, createTable, createTable, dropTable, newCreateTableTransaction, newCreateTableTransaction, newCreateTableTransaction, newReplaceTableTransaction, newReplaceTableTransaction, newReplaceTableTransaction, tableExistspublic HadoopCatalog()
@Deprecated
public HadoopCatalog(java.lang.String name,
org.apache.hadoop.conf.Configuration conf,
java.lang.String warehouseLocation)
name - The catalog nameconf - The Hadoop configurationwarehouseLocation - The location used as warehouse directory@Deprecated
public HadoopCatalog(java.lang.String name,
org.apache.hadoop.conf.Configuration conf,
java.lang.String warehouseLocation,
java.util.Map<java.lang.String,java.lang.String> properties)
name - The catalog nameconf - The Hadoop configurationwarehouseLocation - The location used as warehouse directoryproperties - catalog propertiespublic HadoopCatalog(org.apache.hadoop.conf.Configuration conf,
java.lang.String warehouseLocation)
conf - The Hadoop configurationwarehouseLocation - The location used as warehouse directorypublic HadoopCatalog(org.apache.hadoop.conf.Configuration conf)
fs.defaultFS property
from the passed Hadoop configuration as its default file system, and use the default directory
iceberg/warehouse as the warehouse directory.conf - The Hadoop configurationpublic void initialize(java.lang.String name,
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 Catalogname - a custom name for the catalogproperties - catalog propertiespublic java.lang.String name()
Catalogpublic java.util.List<TableIdentifier> listTables(Namespace namespace)
CataloglistTables in interface Catalognamespace - a namespaceprotected boolean isValidIdentifier(TableIdentifier identifier)
isValidIdentifier in class BaseMetastoreCatalogprotected TableOperations newTableOps(TableIdentifier identifier)
newTableOps in class BaseMetastoreCatalogprotected java.lang.String defaultWarehouseLocation(TableIdentifier tableIdentifier)
defaultWarehouseLocation in class BaseMetastoreCatalogpublic 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 to)
CatalogrenameTable in interface Catalogfrom - identifier of the table to renameto - 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)
SupportsNamespaces
For 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)
SupportsNamespacessetProperties 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)
SupportsNamespacesremoveProperties 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. Namespacepublic void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseablejava.io.IOExceptionpublic java.lang.String toString()
toString in class BaseMetastoreCatalogpublic Catalog.TableBuilder buildTable(TableIdentifier identifier, Schema schema)
CatalogbuildTable in interface CatalogbuildTable in class BaseMetastoreCatalogidentifier - a table identifierschema - a schemapublic 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.Configurable