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
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.iceberg.catalog.Catalog
Catalog.TableBuilder
-
Method Summary
Modifier and TypeMethodDescriptionbuildTable
(TableIdentifier ident, Schema schema) /** Instantiate a builder to either create a table or start a create/replace transaction.void
createNamespace
(Namespace namespace, Map<String, 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.listNamespaces
(Namespace namespace) List child namespaces from the namespace.listTables
(Namespace namespace) Return all the identifiers under this namespace.loadNamespaceMetadata
(Namespace namespace) Load metadata properties for a namespace.loadTable
(TableIdentifier ident) Load a table.name()
Return the name for this catalog.boolean
namespaceExists
(Namespace namespace) Checks whether the Namespace exists.registerTable
(TableIdentifier ident, String metadataFileLocation) Register a table with the catalog if it does not exist.boolean
removeProperties
(Namespace namespace, Set<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, Map<String, 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 Details
-
name
Description copied from interface:Catalog
Return the name for this catalog. -
listTables
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
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
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
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
Description copied from interface:Catalog
Load a table. -
dropTable
Description copied from interface:Catalog
Drop a table and delete all data and metadata files. -
dropTable
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
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
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
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
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
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
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
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
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
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
-