Compartilhar via


Catalog

API de catálogo voltada para o usuário, acessível por meio de SparkSession.catalog. Este é um wrapper fino em torno de sua implementação org.apache.spark.sql.catalog.CatalogScala.

Sintaxe

# Access through SparkSession
spark.catalog

Methods

Método Descrição
currentCatalog() Retorna o catálogo padrão atual nesta sessão.
setCurrentCatalog(catalogName) Define o catálogo padrão atual nesta sessão.
listCatalogs(pattern) Retorna uma lista de catálogos nesta sessão.
currentDatabase() Retorna o banco de dados padrão atual nesta sessão.
setCurrentDatabase(dbName) Define o banco de dados padrão atual nesta sessão.
listDatabases(pattern) Retorna uma lista de bancos de dados disponíveis em todas as sessões.
getDatabase(dbName) Obtém o banco de dados com o nome especificado. Gera uma AnalysisException quando o banco de dados não pode ser encontrado.
databaseExists(dbName) Verifica se o banco de dados com o nome especificado existe.
listTables(dbName, pattern) Retorna uma lista de tabelas e exibições no banco de dados especificado. Inclui todas as exibições temporárias.
getTable(tableName) Obtém a tabela ou exibição com o nome especificado. Gera uma AnalysisException quando nenhuma tabela pode ser encontrada.
tableExists(tableName, dbName) Verifica se a tabela ou exibição com o nome especificado existe.
listColumns(tableName, dbName) Retorna uma lista de colunas para a tabela ou exibição fornecida no banco de dados especificado.
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. Gera uma AnalysisException quando a função não pode ser encontrada.
createTable(tableName, path, source, schema, description, **options) Cria uma tabela com base no conjunto de dados em uma fonte de dados e retorna o DataFrame associado.
dropTempView(viewName) Descarta a exibição temporária local com o nome fornecido. Também desacaracta o modo de exibição se ele foi armazenado em cache.
dropGlobalTempView(viewName) Descarta a exibição temporária global com o nome fornecido. Também desacaracta o modo de exibição se ele foi armazenado em cache.
isCached(tableName) Retornará true se a tabela estiver armazenada em cache na memória no momento.
cacheTable(tableName, storageLevel) Armazena em cache a tabela especificada na memória ou com o nível de armazenamento especificado. O padrão é MEMORY_AND_DISK.
uncacheTable(tableName) Remove a tabela especificada do cache na memória.
clearCache() Remove todas as tabelas armazenadas em cache do cache na memória.
refreshTable(tableName) Invalida e atualiza todos os dados armazenados em cache e metadados da tabela fornecida.
recoverPartitions(tableName) Recupera todas as partições da tabela fornecida e atualiza o catálogo. Só funciona com tabelas particionadas.
refreshByPath(path) Invalida e atualiza todos os dados e metadados armazenados em cache para qualquer DataFrame que contenha o caminho da fonte de dados fornecido.

Exemplos

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