Package org.apache.iceberg.catalog
Class BaseSessionCatalog.AsCatalog
- java.lang.Object
-
- org.apache.iceberg.catalog.BaseSessionCatalog.AsCatalog
-
- All Implemented Interfaces:
Catalog
,SupportsNamespaces
- Enclosing class:
- BaseSessionCatalog
public class BaseSessionCatalog.AsCatalog extends java.lang.Object implements Catalog, SupportsNamespaces
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.iceberg.catalog.Catalog
Catalog.TableBuilder
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Catalog.TableBuilder
buildTable(TableIdentifier ident, Schema schema)
/** Instantiate a builder to either create a table or start a create/replace transaction.void
createNamespace(Namespace namespace, java.util.Map<java.lang.String,java.lang.String> metadata)
Create a namespace in the catalog.boolean
dropNamespace(Namespace namespace)
Drop a namespace.boolean
dropTable(TableIdentifier ident)
Drop a table and delete all data and metadata files.boolean
dropTable(TableIdentifier ident, boolean purge)
Drop a table; optionally delete data and metadata files.void
invalidateTable(TableIdentifier ident)
Invalidate cached table metadata from current catalog.java.util.List<Namespace>
listNamespaces(Namespace namespace)
List child 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.Table
loadTable(TableIdentifier ident)
Load a table.java.lang.String
name()
Return the name for this catalog.boolean
namespaceExists(Namespace namespace)
Checks whether the Namespace exists.Table
registerTable(TableIdentifier ident, java.lang.String metadataFileLocation)
Register a table with the catalog if it does not exist.boolean
removeProperties(Namespace namespace, java.util.Set<java.lang.String> removals)
Remove a set of property keys from a namespace in the catalog.void
renameTable(TableIdentifier from, TableIdentifier to)
Rename a table.boolean
setProperties(Namespace namespace, java.util.Map<java.lang.String,java.lang.String> updates)
Set a collection of properties on a namespace in the catalog.boolean
tableExists(TableIdentifier ident)
Check whether table exists.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.iceberg.catalog.Catalog
createTable, createTable, createTable, createTable, initialize, newCreateTableTransaction, newCreateTableTransaction, newCreateTableTransaction, newCreateTableTransaction, newReplaceTableTransaction, newReplaceTableTransaction, newReplaceTableTransaction, newReplaceTableTransaction
-
Methods inherited from interface org.apache.iceberg.catalog.SupportsNamespaces
createNamespace, listNamespaces
-
-
-
-
Method Detail
-
name
public java.lang.String name()
Description copied from interface:Catalog
Return the name for this catalog.
-
listTables
public java.util.List<TableIdentifier> listTables(Namespace namespace)
Description copied from interface:Catalog
Return all the identifiers under this namespace.- Specified by:
listTables
in interfaceCatalog
- Parameters:
namespace
- a namespace- Returns:
- a list of identifiers for tables
-
buildTable
public Catalog.TableBuilder buildTable(TableIdentifier ident, Schema schema)
Description copied from interface:Catalog
/** Instantiate a builder to either create a table or start a create/replace transaction.- Specified by:
buildTable
in interfaceCatalog
- Parameters:
ident
- a table identifierschema
- a schema- Returns:
- the builder to create a table or start a create/replace transaction
-
registerTable
public Table registerTable(TableIdentifier ident, java.lang.String metadataFileLocation)
Description copied from interface:Catalog
Register a table with the catalog if it does not exist.- Specified by:
registerTable
in interfaceCatalog
- Parameters:
ident
- a table identifiermetadataFileLocation
- the location of a metadata file- Returns:
- a Table instance
-
tableExists
public boolean tableExists(TableIdentifier ident)
Description copied from interface:Catalog
Check whether table exists.- Specified by:
tableExists
in interfaceCatalog
- Parameters:
ident
- a table identifier- Returns:
- true if the table exists, false otherwise
-
loadTable
public Table loadTable(TableIdentifier ident)
Description copied from interface:Catalog
Load a table.
-
dropTable
public boolean dropTable(TableIdentifier ident)
Description copied from interface:Catalog
Drop a table and delete all data and metadata files.
-
dropTable
public boolean dropTable(TableIdentifier ident, boolean purge)
Description copied from interface:Catalog
Drop a table; optionally delete data and metadata files.If purge is set to true the implementation should delete all data and metadata files.
-
renameTable
public void renameTable(TableIdentifier from, TableIdentifier to)
Description copied from interface:Catalog
Rename a table.- Specified by:
renameTable
in interfaceCatalog
- Parameters:
from
- identifier of the table to renameto
- new table name
-
invalidateTable
public void invalidateTable(TableIdentifier ident)
Description copied from interface:Catalog
Invalidate cached table metadata from current catalog.If the table is already loaded or cached, drop cached data. If the table does not exist or is not cached, do nothing.
- Specified by:
invalidateTable
in interfaceCatalog
- Parameters:
ident
- a table identifier
-
createNamespace
public void createNamespace(Namespace namespace, java.util.Map<java.lang.String,java.lang.String> metadata)
Description copied from interface:SupportsNamespaces
Create a namespace in the catalog.- Specified by:
createNamespace
in interfaceSupportsNamespaces
- Parameters:
namespace
- a multi-part namespacemetadata
- a string Map of properties for the given namespace
-
listNamespaces
public java.util.List<Namespace> listNamespaces(Namespace namespace)
Description copied from interface:SupportsNamespaces
List 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:
listNamespaces
in interfaceSupportsNamespaces
- Returns:
- a List of child
Namespace
names from the given namespace
- Given:
-
loadNamespaceMetadata
public java.util.Map<java.lang.String,java.lang.String> loadNamespaceMetadata(Namespace namespace)
Description copied from interface:SupportsNamespaces
Load metadata properties for a namespace.- Specified by:
loadNamespaceMetadata
in interfaceSupportsNamespaces
- Parameters:
namespace
- a namespace.Namespace
- Returns:
- a string map of properties for the given namespace
-
dropNamespace
public boolean dropNamespace(Namespace namespace) throws NamespaceNotEmptyException
Description copied from interface:SupportsNamespaces
Drop a namespace. If the namespace exists and was dropped, this will return true.- Specified by:
dropNamespace
in interfaceSupportsNamespaces
- Parameters:
namespace
- a namespace.Namespace
- Returns:
- true if the namespace was dropped, false otherwise.
- Throws:
NamespaceNotEmptyException
- If the namespace is not empty
-
setProperties
public boolean setProperties(Namespace namespace, java.util.Map<java.lang.String,java.lang.String> updates)
Description copied from interface:SupportsNamespaces
Set 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:
setProperties
in interfaceSupportsNamespaces
- Parameters:
namespace
- a namespace.Namespace
updates
- a collection of metadata to apply to the namespace
-
removeProperties
public boolean removeProperties(Namespace namespace, java.util.Set<java.lang.String> removals)
Description copied from interface:SupportsNamespaces
Remove 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:
removeProperties
in interfaceSupportsNamespaces
- Parameters:
namespace
- a namespace.Namespace
removals
- a collection of metadata to apply to the namespace
-
namespaceExists
public boolean namespaceExists(Namespace namespace)
Description copied from interface:SupportsNamespaces
Checks whether the Namespace exists.- Specified by:
namespaceExists
in interfaceSupportsNamespaces
- Parameters:
namespace
- a namespace.Namespace
- Returns:
- true if the Namespace exists, false otherwise
-
-