Package org.apache.iceberg.catalog
Interface ViewCatalog
- All Known Implementing Classes:
BaseMetastoreViewCatalog
,BaseViewSessionCatalog.AsViewCatalog
,InMemoryCatalog
,JdbcCatalog
,NessieCatalog
,RESTCatalog
public interface ViewCatalog
A Catalog API for view create, drop, and load operations.
-
Method Summary
Modifier and TypeMethodDescriptionbuildView
(TableIdentifier identifier) Instantiate a builder to create or replace a SQL view.boolean
dropView
(TableIdentifier identifier) Drop a view.default void
initialize
(String name, Map<String, String> properties) Initialize a view catalog given a custom name and a map of catalog properties.default void
invalidateView
(TableIdentifier identifier) Invalidate cached view metadata from current catalog.Return all the identifiers under this namespace.loadView
(TableIdentifier identifier) Load a view.name()
Return the name for this catalog.void
renameView
(TableIdentifier from, TableIdentifier to) Rename a view.default boolean
viewExists
(TableIdentifier identifier) Check whether view exists.
-
Method Details
-
name
String name()Return the name for this catalog.- Returns:
- this catalog's name
-
listViews
Return all the identifiers under this namespace.- Parameters:
namespace
- a namespace- Returns:
- a list of identifiers for views
- Throws:
NoSuchNamespaceException
- if the namespace is not found
-
loadView
Load a view.- Parameters:
identifier
- a view identifier- Returns:
- instance of
View
implementation referred by the identifier - Throws:
NoSuchViewException
- if the view does not exist
-
viewExists
Check whether view exists.- Parameters:
identifier
- a view identifier- Returns:
- true if the view exists, false otherwise
-
buildView
Instantiate a builder to create or replace a SQL view.- Parameters:
identifier
- a view identifier- Returns:
- a view builder
-
dropView
Drop a view.- Parameters:
identifier
- a view identifier- Returns:
- true if the view was dropped, false if the view did not exist
-
renameView
Rename a view.- Parameters:
from
- identifier of the view to renameto
- new view identifier- Throws:
NoSuchViewException
- if the "from" view does not existAlreadyExistsException
- if the "to" view already existsNoSuchNamespaceException
- if the "to" namespace doesn't exist
-
invalidateView
Invalidate 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.
- Parameters:
identifier
- a view identifier
-
initialize
Initialize 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.
- Parameters:
name
- a custom name for the catalogproperties
- catalog properties
-