Trabalhar com tabelas gerenciadas
O Azure Databricks gerencia o ciclo de vida e o layout de arquivo de 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.
Observação
Este artigo se concentra nas tabelas gerenciadas do Catálogo do Unity. As tabelas gerenciadas no metastore do Hive herdado têm comportamentos diferentes. Veja Objetos de banco de dados no metastore do Hive herdado.
Trabalhar com tabelas gerenciadas
Você pode trabalhar com tabelas gerenciadas em todas as linguagens e produtos com suporte no Azure Databricks. Você precisa de determinados privilégios para criar, atualizar, excluir ou consultar tabelas gerenciadas. Consulte Gerenciar privilégios no Catálogo do Unity.
Não use ferramentas externas ao Azure Databricks para manipular arquivos em tabelas gerenciados 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 os contém. Consulte Especificar um local de armazenamento gerenciado no catálogo do 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>
: O nome do catálogo.<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 necessárias
Para criar uma tabela gerenciada, você deve ter:
- A permissão
USE SCHEMA
no esquema pai da tabela. - A permissão
USE CATALOG
no catálogo pai da tabela. - A permissão
CREATE TABLE
no esquema pai da tabela.
Remover uma tabela gerenciada
Você deve ser o proprietário da tabela para remover uma tabela. Para remover uma tabela gerenciada, execute o seguinte comando SQL:
DROP TABLE IF EXISTS catalog_name.schema_name.table_name;
Quando uma tabela gerenciada é removida, os dados subjacentes dela são excluídos do seu locatário de nuvem dentro de 30 dias.