Class RESTCatalog
- All Implemented Interfaces:
- Closeable,- AutoCloseable,- Catalog,- SupportsNamespaces,- ViewCatalog,- Configurable<Object>
- 
Nested Class SummaryNested classes/interfaces inherited from interface org.apache.iceberg.catalog.CatalogCatalog.TableBuilder
- 
Constructor SummaryConstructorsConstructorDescriptionRESTCatalog(Function<Map<String, String>, RESTClient> clientBuilder) RESTCatalog(SessionCatalog.SessionContext context, Function<Map<String, String>, RESTClient> clientBuilder) 
- 
Method SummaryModifier and TypeMethodDescriptionbuildTable(TableIdentifier ident, Schema schema) Instantiate a builder to either create a table or start a create/replace transaction.buildView(TableIdentifier identifier) Instantiate a builder to create or replace a SQL view.voidclose()voidcommitTransaction(List<TableCommit> commits) voidcommitTransaction(TableCommit... commits) voidcreateNamespace(Namespace ns, Map<String, String> props) Create a namespace in the catalog.createTable(TableIdentifier identifier, Schema schema) Create an unpartitioned table.createTable(TableIdentifier ident, Schema schema, PartitionSpec spec) Create a table.createTable(TableIdentifier ident, Schema schema, PartitionSpec spec, String location, Map<String, String> props) Create a table.createTable(TableIdentifier ident, Schema schema, PartitionSpec spec, Map<String, String> props) Create a table.booleanDrop a namespace.booleandropTable(TableIdentifier ident) Drop a table and delete all data and metadata files.booleandropTable(TableIdentifier ident, boolean purge) Drop a table; optionally delete data and metadata files.booleandropView(TableIdentifier identifier) Drop a view.voidinitialize(String name, Map<String, String> props) Initialize a catalog given a custom name and a map of catalog properties.voidinvalidateTable(TableIdentifier ident) Invalidate cached table metadata from current catalog.voidinvalidateView(TableIdentifier identifier) Invalidate cached view metadata from current catalog.List child namespaces from the namespace.listTables(Namespace ns) Return all the identifiers under this namespace.Return all the identifiers under this namespace.Load metadata properties for a namespace.loadTable(TableIdentifier ident) Load a table.loadView(TableIdentifier identifier) Load a view.name()Return the name for this catalog.booleannamespaceExists(Namespace namespace) Checks whether the Namespace exists.newCreateTableTransaction(TableIdentifier identifier, Schema schema) Start a transaction to create a table.newCreateTableTransaction(TableIdentifier ident, Schema schema, PartitionSpec spec) Start a transaction to create a table.newCreateTableTransaction(TableIdentifier ident, Schema schema, PartitionSpec spec, String location, Map<String, String> props) Start a transaction to create a table.newCreateTableTransaction(TableIdentifier ident, Schema schema, PartitionSpec spec, Map<String, String> props) Start a transaction to create a table.newReplaceTableTransaction(TableIdentifier ident, Schema schema, boolean orCreate) Start a transaction to replace a table.newReplaceTableTransaction(TableIdentifier ident, Schema schema, PartitionSpec spec, boolean orCreate) Start a transaction to replace a table.newReplaceTableTransaction(TableIdentifier ident, Schema schema, PartitionSpec spec, String location, Map<String, String> props, boolean orCreate) Start a transaction to replace a table.newReplaceTableTransaction(TableIdentifier ident, Schema schema, PartitionSpec spec, Map<String, String> props, boolean orCreate) Start a transaction to replace a table.registerTable(TableIdentifier ident, String metadataFileLocation) Register a table with the catalog if it does not exist.booleanremoveProperties(Namespace ns, Set<String> props) 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 ns, Map<String, String> props) Set a collection of properties on a namespace in the catalog.booleantableExists(TableIdentifier ident) Check whether table exists.booleanviewExists(TableIdentifier identifier) Check whether view exists.Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.iceberg.catalog.SupportsNamespacescreateNamespace, listNamespaces
- 
Constructor Details- 
RESTCatalogpublic RESTCatalog()
- 
RESTCatalog
- 
RESTCatalogpublic RESTCatalog(SessionCatalog.SessionContext context, Function<Map<String, String>, RESTClient> clientBuilder) 
 
- 
- 
Method Details- 
initializeDescription copied from interface:CatalogInitialize a catalog given a custom name and a map of catalog properties.A 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. - Specified by:
- initializein interface- Catalog
- Specified by:
- initializein interface- ViewCatalog
- Parameters:
- name- a custom name for the catalog
- props- catalog properties
 
- 
nameDescription copied from interface:CatalogReturn the name for this catalog.- Specified by:
- namein interface- Catalog
- Specified by:
- namein interface- ViewCatalog
- Returns:
- this catalog's name
 
- 
properties
- 
listTablesDescription copied from interface:CatalogReturn all the identifiers under this namespace.- Specified by:
- listTablesin interface- Catalog
- Parameters:
- ns- a namespace
- Returns:
- a list of identifiers for tables
 
- 
tableExistsDescription copied from interface:CatalogCheck whether table exists.- Specified by:
- tableExistsin interface- Catalog
- Parameters:
- ident- a table identifier
- Returns:
- true if the table exists, false otherwise
 
- 
loadTableDescription copied from interface:CatalogLoad a table.
- 
invalidateTableDescription copied from interface:CatalogInvalidate 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:
- invalidateTablein interface- Catalog
- Parameters:
- ident- a table identifier
 
- 
buildTableDescription copied from interface:CatalogInstantiate a builder to either create a table or start a create/replace transaction.- Specified by:
- buildTablein interface- Catalog
- Parameters:
- ident- a table identifier
- schema- a schema
- Returns:
- the builder to create a table or start a create/replace transaction
 
- 
createTablepublic Table createTable(TableIdentifier ident, Schema schema, PartitionSpec spec, String location, Map<String, String> props) Description copied from interface:CatalogCreate a table.- Specified by:
- createTablein interface- Catalog
- Parameters:
- ident- a table identifier
- schema- a schema
- spec- a partition spec
- location- a location for the table; leave null if unspecified
- props- a string map of table properties
- Returns:
- a Table instance
 
- 
createTablepublic Table createTable(TableIdentifier ident, Schema schema, PartitionSpec spec, Map<String, String> props) Description copied from interface:CatalogCreate a table.- Specified by:
- createTablein interface- Catalog
- Parameters:
- ident- a table identifier
- schema- a schema
- spec- a partition spec
- props- a string map of table properties
- Returns:
- a Table instance
 
- 
createTableDescription copied from interface:CatalogCreate a table.- Specified by:
- createTablein interface- Catalog
- Parameters:
- ident- a table identifier
- schema- a schema
- spec- a partition spec
- Returns:
- a Table instance
 
- 
createTableDescription copied from interface:CatalogCreate an unpartitioned table.- Specified by:
- createTablein interface- Catalog
- Parameters:
- identifier- a table identifier
- schema- a schema
- Returns:
- a Table instance
 
- 
newCreateTableTransactionpublic Transaction newCreateTableTransaction(TableIdentifier ident, Schema schema, PartitionSpec spec, String location, Map<String, String> props) Description copied from interface:CatalogStart a transaction to create a table.- Specified by:
- newCreateTableTransactionin interface- Catalog
- Parameters:
- ident- a table identifier
- schema- a schema
- spec- a partition spec
- location- a location for the table; leave null if unspecified
- props- a string map of table properties
- Returns:
- a Transactionto create the table
 
- 
newCreateTableTransactionpublic Transaction newCreateTableTransaction(TableIdentifier ident, Schema schema, PartitionSpec spec, Map<String, String> props) Description copied from interface:CatalogStart a transaction to create a table.- Specified by:
- newCreateTableTransactionin interface- Catalog
- Parameters:
- ident- a table identifier
- schema- a schema
- spec- a partition spec
- props- a string map of table properties
- Returns:
- a Transactionto create the table
 
- 
newCreateTableTransactionpublic Transaction newCreateTableTransaction(TableIdentifier ident, Schema schema, PartitionSpec spec) Description copied from interface:CatalogStart a transaction to create a table.- Specified by:
- newCreateTableTransactionin interface- Catalog
- Parameters:
- ident- a table identifier
- schema- a schema
- spec- a partition spec
- Returns:
- a Transactionto create the table
 
- 
newCreateTableTransactionDescription copied from interface:CatalogStart a transaction to create a table.- Specified by:
- newCreateTableTransactionin interface- Catalog
- Parameters:
- identifier- a table identifier
- schema- a schema
- Returns:
- a Transactionto create the table
 
- 
newReplaceTableTransactionpublic Transaction newReplaceTableTransaction(TableIdentifier ident, Schema schema, PartitionSpec spec, String location, Map<String, String> props, boolean orCreate) Description copied from interface:CatalogStart a transaction to replace a table.- Specified by:
- newReplaceTableTransactionin interface- Catalog
- Parameters:
- ident- a table identifier
- schema- a schema
- spec- a partition spec
- location- a location for the table; leave null if unspecified
- props- a string map of table properties
- orCreate- whether to create the table if not exists
- Returns:
- a Transactionto replace the table
 
- 
newReplaceTableTransactionpublic Transaction newReplaceTableTransaction(TableIdentifier ident, Schema schema, PartitionSpec spec, Map<String, String> props, boolean orCreate) Description copied from interface:CatalogStart a transaction to replace a table.- Specified by:
- newReplaceTableTransactionin interface- Catalog
- Parameters:
- ident- a table identifier
- schema- a schema
- spec- a partition spec
- props- a string map of table properties
- orCreate- whether to create the table if not exists
- Returns:
- a Transactionto replace the table
 
- 
newReplaceTableTransactionpublic Transaction newReplaceTableTransaction(TableIdentifier ident, Schema schema, PartitionSpec spec, boolean orCreate) Description copied from interface:CatalogStart a transaction to replace a table.- Specified by:
- newReplaceTableTransactionin interface- Catalog
- Parameters:
- ident- a table identifier
- schema- a schema
- spec- a partition spec
- orCreate- whether to create the table if not exists
- Returns:
- a Transactionto replace the table
 
- 
newReplaceTableTransactionpublic Transaction newReplaceTableTransaction(TableIdentifier ident, Schema schema, boolean orCreate) Description copied from interface:CatalogStart a transaction to replace a table.- Specified by:
- newReplaceTableTransactionin interface- Catalog
- Parameters:
- ident- a table identifier
- schema- a schema
- orCreate- whether to create the table if not exists
- Returns:
- a Transactionto replace the table
 
- 
dropTableDescription copied from interface:CatalogDrop a table and delete all data and metadata files.
- 
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. 
- 
renameTableDescription copied from interface:CatalogRename a table.- Specified by:
- renameTablein interface- Catalog
- Parameters:
- from- identifier of the table to rename
- to- new table name
 
- 
registerTableDescription copied from interface:CatalogRegister a table with the catalog if it does not exist.- Specified by:
- registerTablein interface- Catalog
- Parameters:
- ident- a table identifier
- metadataFileLocation- the location of a metadata file
- Returns:
- a Table instance
 
- 
createNamespaceDescription copied from interface:SupportsNamespacesCreate a namespace in the catalog.- Specified by:
- createNamespacein interface- SupportsNamespaces
- Parameters:
- ns- a multi-part namespace
- props- a string Map of properties for the given namespace
 
- 
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: 
- 
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
 
- 
loadNamespaceMetadataDescription copied from interface:SupportsNamespacesLoad metadata properties for a namespace.- Specified by:
- loadNamespaceMetadatain interface- SupportsNamespaces
- Parameters:
- ns- 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:
- ns- a namespace.- Namespace
- Returns:
- true if the namespace was dropped, false otherwise.
- Throws:
- NamespaceNotEmptyException- If the namespace is not empty
 
- 
setPropertiespublic boolean setProperties(Namespace ns, Map<String, String> props) 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:
- ns- a namespace.- Namespace
- props- a collection of metadata to apply to the namespace
- Throws:
- NoSuchNamespaceException- If the namespace does not exist (optional)
 
- 
removePropertiesDescription 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:
- ns- a namespace.- Namespace
- props- a collection of metadata to apply to the namespace
- Throws:
- NoSuchNamespaceException- If the namespace does not exist (optional)
 
- 
setConf- Specified by:
- setConfin interface- Configurable<Object>
 
- 
close- Specified by:
- closein interface- AutoCloseable
- Specified by:
- closein interface- Closeable
- Throws:
- IOException
 
- 
commitTransaction
- 
commitTransaction
- 
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
 
- 
loadViewDescription copied from interface:ViewCatalogLoad a view.- Specified by:
- loadViewin interface- ViewCatalog
- Parameters:
- identifier- a view identifier
- Returns:
- instance of Viewimplementation referred by the identifier
 
- 
buildViewDescription copied from interface:ViewCatalogInstantiate a builder to create or replace a SQL view.- Specified by:
- buildViewin interface- ViewCatalog
- Parameters:
- identifier- a view identifier
- Returns:
- a view builder
 
- 
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
 
- 
renameViewDescription copied from interface:ViewCatalogRename a view.- Specified by:
- renameViewin interface- ViewCatalog
- Parameters:
- from- identifier of the view to rename
- to- new view identifier
 
- 
viewExistsDescription copied from interface:ViewCatalogCheck whether view exists.- Specified by:
- viewExistsin interface- ViewCatalog
- Parameters:
- identifier- a view identifier
- Returns:
- true if the view exists, false otherwise
 
- 
invalidateViewDescription copied from interface:ViewCatalogInvalidate cached view metadata from current catalog.If the view is already loaded or cached, drop cached data. If the view does not exist or is not cached, do nothing. - Specified by:
- invalidateViewin interface- ViewCatalog
- Parameters:
- identifier- a view identifier
 
 
-