public abstract class Catalog
extends Object
SparkSession.catalog
.
Constructor and Description |
---|
Catalog() |
Modifier and Type | Method and Description |
---|---|
abstract void |
cacheTable(String tableName)
Caches the specified table in-memory.
|
abstract void |
clearCache()
Removes all cached tables from the in-memory cache.
|
abstract Dataset<Row> |
createExternalTable(String tableName,
String path)
:: Experimental ::
Creates an external table from the given path and returns the corresponding DataFrame.
|
abstract Dataset<Row> |
createExternalTable(String tableName,
String source,
java.util.Map<String,String> options)
:: Experimental ::
Creates an external table from the given path based on a data source and a set of options.
|
abstract Dataset<Row> |
createExternalTable(String tableName,
String source,
scala.collection.immutable.Map<String,String> options)
:: Experimental ::
(Scala-specific)
Creates an external table from the given path based on a data source and a set of options.
|
abstract Dataset<Row> |
createExternalTable(String tableName,
String path,
String source)
:: Experimental ::
Creates an external table from the given path based on a data source
and returns the corresponding DataFrame.
|
abstract Dataset<Row> |
createExternalTable(String tableName,
String source,
StructType schema,
java.util.Map<String,String> options)
:: Experimental ::
Create an external table from the given path based on a data source, a schema and
a set of options.
|
abstract Dataset<Row> |
createExternalTable(String tableName,
String source,
StructType schema,
scala.collection.immutable.Map<String,String> options)
:: Experimental ::
(Scala-specific)
Create an external table from the given path based on a data source, a schema and
a set of options.
|
abstract String |
currentDatabase()
Returns the current default database in this session.
|
abstract boolean |
databaseExists(String dbName)
Check if the database with the specified name exists.
|
abstract boolean |
dropGlobalTempView(String viewName)
Drops the global temporary view with the given view name in the catalog.
|
abstract boolean |
dropTempView(String viewName)
Drops the local temporary view with the given view name in the catalog.
|
abstract boolean |
functionExists(String functionName)
Check if the function with the specified name exists.
|
abstract boolean |
functionExists(String dbName,
String functionName)
Check if the function with the specified name exists in the specified database.
|
abstract Database |
getDatabase(String dbName)
Get the database with the specified name.
|
abstract Function |
getFunction(String functionName)
Get the function with the specified name.
|
abstract Function |
getFunction(String dbName,
String functionName)
Get the function with the specified name.
|
abstract Table |
getTable(String tableName)
Get the table or view with the specified name.
|
abstract Table |
getTable(String dbName,
String tableName)
Get the table or view with the specified name in the specified database.
|
abstract boolean |
isCached(String tableName)
Returns true if the table is currently cached in-memory.
|
abstract Dataset<Column> |
listColumns(String tableName)
Returns a list of columns for the given table in the current database or
the given temporary table.
|
abstract Dataset<Column> |
listColumns(String dbName,
String tableName)
Returns a list of columns for the given table in the specified database.
|
abstract Dataset<Database> |
listDatabases()
Returns a list of databases available across all sessions.
|
abstract Dataset<Function> |
listFunctions()
Returns a list of functions registered in the current database.
|
abstract Dataset<Function> |
listFunctions(String dbName)
Returns a list of functions registered in the specified database.
|
abstract Dataset<Table> |
listTables()
Returns a list of tables in the current database.
|
abstract Dataset<Table> |
listTables(String dbName)
Returns a list of tables in the specified database.
|
abstract void |
recoverPartitions(String tableName)
Recover all the partitions in the directory of a table and update the catalog.
|
abstract void |
refreshByPath(String path)
Invalidate and refresh all the cached data (and the associated metadata) for any dataframe that
contains the given data source path.
|
abstract void |
refreshTable(String tableName)
Invalidate and refresh all the cached metadata of the given table.
|
abstract void |
setCurrentDatabase(String dbName)
Sets the current default database in this session.
|
abstract boolean |
tableExists(String tableName)
Check if the table or view with the specified name exists.
|
abstract boolean |
tableExists(String dbName,
String tableName)
Check if the table or view with the specified name exists in the specified database.
|
abstract void |
uncacheTable(String tableName)
Removes the specified table from the in-memory cache.
|
public abstract String currentDatabase()
public abstract void setCurrentDatabase(String dbName)
dbName
- (undocumented)public abstract Dataset<Database> listDatabases()
public abstract Dataset<Table> listTables()
public abstract Dataset<Table> listTables(String dbName) throws AnalysisException
dbName
- (undocumented)AnalysisException
public abstract Dataset<Function> listFunctions()
public abstract Dataset<Function> listFunctions(String dbName) throws AnalysisException
dbName
- (undocumented)AnalysisException
public abstract Dataset<Column> listColumns(String tableName) throws AnalysisException
tableName
- (undocumented)AnalysisException
public abstract Dataset<Column> listColumns(String dbName, String tableName) throws AnalysisException
dbName
- (undocumented)tableName
- (undocumented)AnalysisException
public abstract Database getDatabase(String dbName) throws AnalysisException
dbName
- (undocumented)AnalysisException
public abstract Table getTable(String tableName) throws AnalysisException
tableName
- (undocumented)AnalysisException
public abstract Table getTable(String dbName, String tableName) throws AnalysisException
dbName
- (undocumented)tableName
- (undocumented)AnalysisException
public abstract Function getFunction(String functionName) throws AnalysisException
functionName
- (undocumented)AnalysisException
public abstract Function getFunction(String dbName, String functionName) throws AnalysisException
dbName
- (undocumented)functionName
- (undocumented)AnalysisException
public abstract boolean databaseExists(String dbName)
dbName
- (undocumented)public abstract boolean tableExists(String tableName)
tableName
- (undocumented)public abstract boolean tableExists(String dbName, String tableName)
dbName
- (undocumented)tableName
- (undocumented)public abstract boolean functionExists(String functionName)
functionName
- (undocumented)public abstract boolean functionExists(String dbName, String functionName)
dbName
- (undocumented)functionName
- (undocumented)public abstract Dataset<Row> createExternalTable(String tableName, String path)
tableName
- (undocumented)path
- (undocumented)public abstract Dataset<Row> createExternalTable(String tableName, String path, String source)
tableName
- (undocumented)path
- (undocumented)source
- (undocumented)public abstract Dataset<Row> createExternalTable(String tableName, String source, java.util.Map<String,String> options)
tableName
- (undocumented)source
- (undocumented)options
- (undocumented)public abstract Dataset<Row> createExternalTable(String tableName, String source, scala.collection.immutable.Map<String,String> options)
tableName
- (undocumented)source
- (undocumented)options
- (undocumented)public abstract Dataset<Row> createExternalTable(String tableName, String source, StructType schema, java.util.Map<String,String> options)
tableName
- (undocumented)source
- (undocumented)schema
- (undocumented)options
- (undocumented)public abstract Dataset<Row> createExternalTable(String tableName, String source, StructType schema, scala.collection.immutable.Map<String,String> options)
tableName
- (undocumented)source
- (undocumented)schema
- (undocumented)options
- (undocumented)public abstract boolean dropTempView(String viewName)
Local temporary view is session-scoped. Its lifetime is the lifetime of the session that
created it, i.e. it will be automatically dropped when the session terminates. It's not
tied to any databases, i.e. we can't use db1.view1
to reference a local temporary view.
Note that, the return type of this method was Unit in Spark 2.0, but changed to Boolean in Spark 2.1.
viewName
- the name of the view to be dropped.public abstract boolean dropGlobalTempView(String viewName)
Global temporary view is cross-session. Its lifetime is the lifetime of the Spark application,
i.e. it will be automatically dropped when the application terminates. It's tied to a system
preserved database _global_temp
, and we must use the qualified name to refer a global temp
view, e.g. SELECT * FROM _global_temp.view1
.
viewName
- the name of the view to be dropped.public abstract void recoverPartitions(String tableName)
tableName
- (undocumented)public abstract boolean isCached(String tableName)
tableName
- (undocumented)public abstract void cacheTable(String tableName)
tableName
- (undocumented)public abstract void uncacheTable(String tableName)
tableName
- (undocumented)public abstract void clearCache()
public abstract void refreshTable(String tableName)
If this table is cached as an InMemoryRelation, drop the original cached version and make the new version cached lazily.
tableName
- (undocumented)public abstract void refreshByPath(String path)
path
- (undocumented)