Trabalhar com tables gerenciados
O Azure Databricks gerencia o ciclo de vida e o layout do arquivo para um tablegerenciado. Os tables gerenciados são a maneira padrão de criar tables.
O Databricks recomenda que você use o tables gerenciado para todos os dados tabulares gerenciados no Azure Databricks.
Nota
Este artigo concentra-se em Unity Catalog gerenciado tables. Os tables gerenciados no metastore herdado do Hive têm comportamentos diferentes. Consulte Objetos de banco de dados no metastore herdado do Hive.
Trabalhar com tables gerenciados
Pode trabalhar com tables gerido em todos os idiomas e produtos que são suportados no Azure Databricks. Você precisa de certos privilégios para criar, update, excluir ou consultar tablesgeridos. Consulte Gerenciar privilégios no Unity Catalog.
Você não deve usar ferramentas fora do Azure Databricks para manipular arquivos em tables gerenciados diretamente.
Você só deve interagir com arquivos de dados em um table gerenciado usando o nome table.
Os arquivos de dados geridos para tables são armazenados no local de armazenamento gerido associado ao schema. Ver Especificar um local de armazenamento gerido no Unity Catalog.
Criar um table gerenciado
Por padrão, sempre que você cria um table usando comandos SQL, Spark ou outras ferramentas no Azure Databricks, o table é gerenciado.
A sintaxe SQL a seguir demonstra como criar um table gerenciado vazio usando SQL. Substitua o marcador de posição values:
-
<catalog-name>
: O nome do catalog que conterá o table. -
<schema-name>
: O nome do schema que conterá o table. -
<table-name>
: Um nome para o table. -
<column-specification>
: O nome e o tipo de dados para cada column.
CREATE TABLE <catalog-name>.<schema-name>.<table-name>
(
<column-specification>
);
Muitos usuários criam tables gerenciados 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 um table gerenciado no Azure Databricks:
Permissões obrigatórias
Para criar um tablegerenciado, você deve ter:
- A permissão
USE SCHEMA
no schemado pai do table. - A permissão
USE CATALOG
no catalogpai do table. - A permissão
CREATE TABLE
no pai do tableschema.
Solte um table gerenciado
Você deve ser o dono do tableou ter o privilégio MANAGE
no table para eliminar um table. Para remover um tablegerenciado, execute o seguinte comando SQL:
DROP TABLE IF EXISTS catalog_name.schema_name.table_name;
Quando um table gerenciado é descartado, seus dados subjacentes são excluídos do locatário de nuvem dentro de 30 dias.