Package org.apache.iceberg.catalog
Interface ViewSessionCatalog
- All Known Implementing Classes:
BaseViewSessionCatalog
,RESTSessionCatalog
public interface ViewSessionCatalog
A session Catalog API for view create, drop, and load operations.
-
Method Summary
Modifier and TypeMethodDescriptionbuildView
(SessionCatalog.SessionContext context, TableIdentifier identifier) Instantiate a builder to create or replace a SQL view.boolean
dropView
(SessionCatalog.SessionContext context, TableIdentifier identifier) Drop a view.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
(SessionCatalog.SessionContext context, TableIdentifier identifier) Invalidate cached view metadata from current catalog.listViews
(SessionCatalog.SessionContext context, Namespace namespace) Return all the identifiers under this namespace.loadView
(SessionCatalog.SessionContext context, TableIdentifier identifier) Load a view.name()
Return the name for this catalog.void
renameView
(SessionCatalog.SessionContext context, TableIdentifier from, TableIdentifier to) Rename a view.default boolean
viewExists
(SessionCatalog.SessionContext context, 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
-