Class JdbcCatalog
- All Implemented Interfaces:
- Closeable,- AutoCloseable,- Catalog,- SupportsNamespaces,- ViewCatalog,- Configurable<Object>
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionprotected classThe purpose of this class is to add view detection only when SchemaVersion.V1 schema is used when replacing a table.Nested 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.voidclose()voidcreateNamespace(Namespace namespace, Map<String, String> metadata) Create a namespace in the catalog.protected StringbooleandropNamespace(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.voidinitialize(String name, Map<String, String> properties) Initialize a view catalog given a custom name and a map of catalog properties.List top-level namespaces from the catalog.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.booleannamespaceExists(Namespace namespace) Checks whether the Namespace exists.protected TableOperationsnewTableOps(TableIdentifier tableIdentifier) protected ViewOperationsnewViewOps(TableIdentifier viewIdentifier) booleanremoveProperties(Namespace namespace, Set<String> properties) Remove a set of property keys from a namespace in the catalog.voidrenameTable(TableIdentifier from, TableIdentifier to) Rename a table.voidrenameView(TableIdentifier from, TableIdentifier to) Rename a view.voidbooleansetProperties(Namespace namespace, Map<String, String> properties) Set a collection of properties on a namespace in the catalog.Methods inherited from class org.apache.iceberg.view.BaseMetastoreViewCatalogbuildView, loadViewMethods inherited from class org.apache.iceberg.BaseMetastoreCatalogfullTableName, isValidIdentifier, isValidMetadataIdentifier, loadTable, metricsReporter, registerTable, toStringMethods 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, newReplaceTableTransaction, tableExistsMethods inherited from interface org.apache.iceberg.catalog.SupportsNamespacescreateNamespaceMethods inherited from interface org.apache.iceberg.catalog.ViewCataloginvalidateView, viewExists
- 
Field Details- 
PROPERTY_PREFIX- See Also:
 
 
- 
- 
Constructor Details- 
JdbcCatalogpublic JdbcCatalog()
- 
JdbcCatalog
 
- 
- 
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:
- name- a custom name for the catalog
- properties- catalog properties
 
- 
newTableOps- Specified by:
- newTableOpsin class- BaseMetastoreCatalog
 
- 
newViewOps- Specified by:
- newViewOpsin class- BaseMetastoreViewCatalog
 
- 
defaultWarehouseLocation- Specified by:
- defaultWarehouseLocationin class- BaseMetastoreCatalog
 
- 
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. 
- 
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
 
- 
renameTableDescription copied from interface:CatalogRename a table.- Specified by:
- renameTablein interface- Catalog
- Parameters:
- from- identifier of the table to rename
- to- new table name
 
- 
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
 
- 
setConf- Specified by:
- setConfin interface- Configurable<Object>
 
- 
createNamespaceDescription copied from interface:SupportsNamespacesCreate a namespace in the catalog.- Specified by:
- createNamespacein interface- SupportsNamespaces
- Parameters:
- namespace- a multi-part namespace
- metadata- a string Map of properties for the given namespace
 
- 
listNamespacesDescription copied from interface:SupportsNamespacesList top-level namespaces from the catalog.If an object such as a table, view, or function exists, its parent namespaces must also exist and must be returned by this discovery method. For example, if table a.b.t exists, this method must return ["a"] in the result array. - Specified by:
- listNamespacesin interface- SupportsNamespaces
- Returns:
- a List of namespace Namespacenames
 
- 
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
- Throws:
- NoSuchNamespaceException- If the namespace does not exist (optional)
 
- Given: 
- 
loadNamespaceMetadatapublic Map<String,String> loadNamespaceMetadata(Namespace namespace) throws NoSuchNamespaceException Description 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
- Throws:
- NoSuchNamespaceException- If the namespace does not exist (optional)
 
- 
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.
- Throws:
- NamespaceNotEmptyException- If the namespace is not empty
 
- 
setPropertiespublic boolean setProperties(Namespace namespace, Map<String, String> properties) throws NoSuchNamespaceExceptionDescription 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
- Throws:
- NoSuchNamespaceException- If the namespace does not exist (optional)
 
- 
removePropertiespublic boolean removeProperties(Namespace namespace, Set<String> properties) throws NoSuchNamespaceException Description 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
- Throws:
- NoSuchNamespaceException- If the namespace does not exist (optional)
 
- 
closepublic void close()- Specified by:
- closein interface- AutoCloseable
- Specified by:
- closein interface- Closeable
- Overrides:
- closein class- BaseMetastoreCatalog
 
- 
namespaceExistsDescription copied from interface:SupportsNamespacesChecks whether the Namespace exists.- Specified by:
- namespaceExistsin interface- SupportsNamespaces
- Parameters:
- namespace- a namespace.- Namespace
- Returns:
- true if the Namespace exists, false otherwise
 
- 
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
 
- 
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
 
- 
renameViewDescription copied from interface:ViewCatalogRename a view.- Specified by:
- renameViewin interface- ViewCatalog
- Parameters:
- from- identifier of the view to rename
- to- new view identifier
 
- 
properties- Overrides:
- propertiesin class- BaseMetastoreCatalog
 
- 
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
 
 
-