Partekatu honen bidez:


Catalog

API de catálogo orientada al usuario, accesible a través de SparkSession.catalog. Se trata de un contenedor fino alrededor de su implementación org.apache.spark.sql.catalog.Catalogde Scala.

Sintaxis

# Access through SparkSession
spark.catalog

Methods

Método Descripción
currentCatalog() Devuelve el catálogo predeterminado actual en esta sesión.
setCurrentCatalog(catalogName) Establece el catálogo predeterminado actual en esta sesión.
listCatalogs(pattern) Devuelve una lista de catálogos en esta sesión.
currentDatabase() Devuelve la base de datos predeterminada actual en esta sesión.
setCurrentDatabase(dbName) Establece la base de datos predeterminada actual en esta sesión.
listDatabases(pattern) Devuelve una lista de bases de datos disponibles en todas las sesiones.
getDatabase(dbName) Obtiene la base de datos con el nombre especificado. Produce una excepción AnalysisException cuando no se encuentra la base de datos.
databaseExists(dbName) Comprueba si existe la base de datos con el nombre especificado.
listTables(dbName, pattern) Devuelve una lista de tablas y vistas en la base de datos especificada. Incluye todas las vistas temporales.
getTable(tableName) Obtiene la tabla o vista con el nombre especificado. Produce una excepción AnalysisException cuando no se encuentra ninguna tabla.
tableExists(tableName, dbName) Comprueba si existe la tabla o vista con el nombre especificado.
listColumns(tableName, dbName) Devuelve una lista de columnas para la tabla o vista especificada en la base de datos especificada.
listFunctions(dbName, pattern) Devuelve una lista de funciones registradas en la base de datos especificada. Incluye todas las funciones temporales.
functionExists(functionName, dbName) Comprueba si existe la función con el nombre especificado. Incluye funciones temporales.
getFunction(functionName) Obtiene la función con el nombre especificado. Produce una excepción AnalysisException cuando no se encuentra la función.
createTable(tableName, path, source, schema, description, **options) Crea una tabla basada en el conjunto de datos de un origen de datos y devuelve el DataFrame asociado.
dropTempView(viewName) Quita la vista temporal local con el nombre especificado. También desencacha la vista si se ha almacenado en caché.
dropGlobalTempView(viewName) Quita la vista temporal global con el nombre especificado. También desencacha la vista si se ha almacenado en caché.
isCached(tableName) Devuelve true si la tabla se almacena actualmente en caché en memoria.
cacheTable(tableName, storageLevel) Almacena en caché la tabla especificada en memoria o con el nivel de almacenamiento especificado. El valor predeterminado es MEMORY_AND_DISK.
uncacheTable(tableName) Quita la tabla especificada de la memoria caché en memoria.
clearCache() Quita todas las tablas almacenadas en caché de la caché en memoria.
refreshTable(tableName) Invalida y actualiza todos los datos almacenados en caché y los metadatos de la tabla especificada.
recoverPartitions(tableName) Recupera todas las particiones de la tabla especificada y actualiza el catálogo. Solo funciona con tablas con particiones.
refreshByPath(path) Invalida y actualiza todos los datos y metadatos almacenados en caché para cualquier DataFrame que contenga la ruta de acceso del origen de datos especificada.

Ejemplos

spark.catalog.currentDatabase()
'default'
spark.catalog.listDatabases()
[Database(name='default', catalog='spark_catalog', description='default database', ...)]
_ = spark.sql("CREATE TABLE tbl1 (name STRING, age INT) USING parquet")
spark.catalog.tableExists("tbl1")
True
spark.catalog.cacheTable("tbl1")
spark.catalog.isCached("tbl1")
True
spark.catalog.uncacheTable("tbl1")
spark.catalog.isCached("tbl1")
False