Trabalhar com tabelas gerenciadas

O Azure Databricks gerencia o ciclo de vida e o layout de arquivo para uma tabela gerenciada. As tabelas gerenciadas são a maneira padrão de criar tabelas.

O Databricks recomenda que você use tabelas gerenciadas para todos os dados tabulares gerenciados no Azure Databricks.

Nota

Este artigo se concentra nas tabelas gerenciadas do Unity Catalog. As tabelas gerenciadas no metastore herdado do Hive têm comportamentos diferentes. Consulte Objetos de banco de dados no metastore herdado do Hive.

Trabalhar com tabelas gerenciadas

Pode trabalhar com tabelas geridas em todos os idiomas e produtos suportados no Azure Databricks. Você precisa de certos privilégios para criar, atualizar, excluir ou consultar tabelas gerenciadas. Consulte Gerenciar privilégios no Catálogo Unity.

Você não deve usar ferramentas fora do Azure Databricks para manipular arquivos em tabelas gerenciadas diretamente.

Você só deve interagir com arquivos de dados em uma tabela gerenciada usando o nome da tabela.

Os arquivos de dados para tabelas gerenciadas são armazenados no local de armazenamento gerenciado associado ao esquema que contém. Consulte Especificar um local de armazenamento gerenciado no Catálogo Unity.

Criar uma tabela gerenciada

Por padrão, sempre que você cria uma tabela usando comandos SQL, Spark ou outras ferramentas no Azure Databricks, a tabela é gerenciada.

A sintaxe SQL a seguir demonstra como criar uma tabela gerenciada vazia usando SQL. Substitua os valores de espaço reservado:

  • <catalog-name>: O nome do catálogo que conterá a tabela.
  • <schema-name>: O nome do esquema que conterá a tabela.
  • <table-name>: Um nome para a tabela.
  • <column-specification>: O nome e o tipo de dados para cada coluna.
CREATE TABLE <catalog-name>.<schema-name>.<table-name>
(
  <column-specification>
);

Muitos usuários criam tabelas gerenciadas a partir de resultados de consulta ou operações de gravação DataFrame. Os artigos a seguir demonstram alguns dos muitos padrões que você pode usar para criar uma tabela gerenciada no Azure Databricks:

Permissões obrigatórias

Para criar uma tabela gerenciada, você deve ter:

  • A USE SCHEMA permissão no esquema pai da tabela.
  • A USE CATALOG permissão no catálogo pai da tabela.
  • A CREATE TABLE permissão no esquema pai da tabela.

Soltar uma tabela gerenciada

Você deve ser o proprietário da mesa para soltar uma mesa. Para soltar uma tabela gerenciada, execute o seguinte comando SQL:

DROP TABLE IF EXISTS catalog_name.schema_name.table_name;

Quando uma tabela gerenciada é descartada, seus dados subjacentes são excluídos do locatário da nuvem dentro de 30 dias.