Pular para o conteúdo principal

Catálogo

API de catálogo voltada para o usuário, acessível através de SparkSession.catalog. Este é um wrapper simples em torno de sua implementação em Scala org.apache.spark.sql.catalog.Catalog.

Sintaxe

Python
# Access through SparkSession
spark.catalog

Métodos

Método

Descrição

currentCatalog()

Retorna o catálogo default atual nesta sessão.

setCurrentCatalog(catalogName)

Define o catálogo default atual nesta sessão.

listCatalogs(pattern)

Retorna uma lista dos catálogos desta sessão.

currentDatabase()

Retorna o banco de dados default atual nesta sessão.

setCurrentDatabase(dbName)

Define o banco de dados default atual nesta sessão.

listDatabases(pattern)

Retorna uma lista dos bancos de dados disponíveis em todas as sessões.

getDatabase(dbName)

Obtém o banco de dados com o nome especificado. Lança uma exceção AnalysisException quando o banco de dados não é encontrado.

databaseExists(dbName)

Verifica se o banco de dados com o nome especificado existe.

listTables(dbName, pattern)

Retorna uma lista de tabelas e visualizações no banco de dados especificado. Inclui todas as visualizações temporárias.

getTable(tableName)

Obtém a tabela ou view com o nome especificado. Lança uma exceção AnalysisException quando nenhuma tabela é encontrada.

tableExists(tableName, dbName)

Verifica se a tabela ou view com o nome especificado existe.

listColumns(tableName, dbName)

Retorna uma lista de colunas para a tabela ou view especificada no banco de dados indicado.

listFunctions(dbName, pattern)

Retorna uma lista de funções registradas no banco de dados especificado. Inclui todas as funções temporárias.

functionExists(functionName, dbName)

Verifica se a função com o nome especificado existe. Inclui funções temporárias.

getFunction(functionName)

Obtém a função com o nome especificado. Lança uma exceção AnalysisException quando a função não é encontrada.

createTable(tableName, path, source, schema, description, **options)

Cria uma tabela com base no dataset em uma fonte de dados e retorna o DataFrame associado.

dropTempView(viewName)

Remove a view temporária local com o nome fornecido. Também remove a view do cache, caso ela estivesse armazenada em cache.

dropGlobalTempView(viewName)

Remove a view temporária global com o nome fornecido. Também remove a view do cache, caso ela estivesse armazenada em cache.

isCached(tableName)

Retorna verdadeiro se a tabela estiver atualmente armazenada em cache na memória.

cacheTable(tableName, storageLevel)

Armazena em cache a tabela especificada na memória ou no nível de armazenamento fornecido. Por padrão, use MEMORY_AND_DISK.

uncacheTable(tableName)

Remove a tabela especificada do cache em memória.

clearCache()

Remove todas as tabelas armazenadas em cache da memória.

refreshTable(tableName)

Invalida e atualiza todos os dados em cache e metadados da tabela especificada.

recoverPartitions(tableName)

Recupera todas as partições da tabela especificada e atualiza o catálogo. Funciona apenas com tabelas particionadas.

refreshByPath(path)

Invalida e atualiza todos os dados em cache e metadados para qualquer DataFrame que contenha o caminho da fonte de dados fornecido.

Exemplos

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