Interface CatalogExtension
- All Superinterfaces:
CatalogPlugin
,FunctionCatalog
,SupportsNamespaces
,TableCatalog
- All Known Implementing Classes:
DelegatingCatalogExtension
@Evolving
public interface CatalogExtension
extends TableCatalog, FunctionCatalog, SupportsNamespaces
An API to extend the Spark built-in session catalog. Implementation can get the built-in session
catalog from
setDelegateCatalog(CatalogPlugin)
, implement catalog functions with
some custom logic and call the built-in session catalog at the end. For example, they can
implement createTable
, do something else before calling createTable
of the
built-in session catalog.- Since:
- 3.0.0
-
Field Summary
Fields inherited from interface org.apache.spark.sql.connector.catalog.SupportsNamespaces
PROP_COMMENT, PROP_LOCATION, PROP_OWNER
Fields inherited from interface org.apache.spark.sql.connector.catalog.TableCatalog
OPTION_PREFIX, PROP_COMMENT, PROP_EXTERNAL, PROP_IS_MANAGED_LOCATION, PROP_LOCATION, PROP_OWNER, PROP_PROVIDER
-
Method Summary
Modifier and TypeMethodDescriptionvoid
setDelegateCatalog
(CatalogPlugin delegate) This will be called only once by Spark to pass in the Spark built-in session catalog, afterCatalogPlugin.initialize(String, CaseInsensitiveStringMap)
is called.Methods inherited from interface org.apache.spark.sql.connector.catalog.CatalogPlugin
defaultNamespace, initialize, name
Methods inherited from interface org.apache.spark.sql.connector.catalog.FunctionCatalog
functionExists, listFunctions, loadFunction
Methods inherited from interface org.apache.spark.sql.connector.catalog.SupportsNamespaces
alterNamespace, createNamespace, dropNamespace, listNamespaces, listNamespaces, loadNamespaceMetadata, namespaceExists
Methods inherited from interface org.apache.spark.sql.connector.catalog.TableCatalog
alterTable, capabilities, createTable, createTable, dropTable, invalidateTable, listTables, loadTable, loadTable, loadTable, loadTable, purgeTable, renameTable, tableExists, useNullableQuerySchema
-
Method Details
-
setDelegateCatalog
This will be called only once by Spark to pass in the Spark built-in session catalog, afterCatalogPlugin.initialize(String, CaseInsensitiveStringMap)
is called.
-