Unity Catalog Gerenciar tabelas em para e Databricks Delta Lake Apache Iceberg
Visualização
Unity Catalog gerenciar tabelas está geralmente disponível para Delta Lake tabelas. Para as tabelas Apache Iceberg , esse recurso está em Public Preview e disponível em Databricks Runtime 16.4 LTS e acima.
Esta página descreve Unity Catalog gerenciar tabelas em Delta Lake e Apache Iceberg, o default e o tipo de tabela recomendado em Databricks. Essas tabelas são totalmente controladas e otimizadas pelo Unity Catalog site, oferecendo desempenho, vantagens operacionais e menores custos de armazenamento e compute em comparação com as tabelas externas e estrangeiras, pois as tabelas gerenciais aprendem com seu padrão de leitura e gravação. Unity Catalog gerenciar todas as responsabilidades de leitura, gravação, armazenamento e otimização das tabelas gerenciadas. Consulte Converter uma tabela externa em uma tabela gerenciar Unity Catalog.
Os arquivos de dados das tabelas gerenciais são armazenados no esquema ou catálogo que as contém. Consulte Especificar um local de armazenamento gerenciar em Unity Catalog.
Databricks recomenda o uso de tabelas gerenciais para aproveitar as vantagens:
- Redução dos custos de armazenamento e compute.
- Desempenho de consulta mais rápido em todos os tipos de clientes.
- Manutenção e otimização automáticas da mesa.
- Acesso seguro para clientes que não são da Databricks por meio de APIs abertas.
- Suporte aos formatos Delta Lake e Iceberg.
- Atualizações automáticas para o recurso de plataforma mais recente.
As tabelas gerenciar suportam a interoperabilidade, permitindo o acesso de clientes Delta Lake e Iceberg. Por meio do APIs aberto e da venda de credenciais, o Unity Catalog permite que mecanismos externos, como Trino, DuckDB, Apache Spark, Daft e Iceberg REST mecanismos integrados ao catálogo, como o Dremio, acessem tabelas gerenciais. Delta SharingO código aberto, um protocolo de código aberto, permite o compartilhamento seguro e governado de dados com parceiros e plataformas externas.
O senhor pode trabalhar com tabelas gerenciáveis em todos os idiomas e produtos suportados no site Databricks. O senhor precisa de determinados privilégios para criar, atualizar, excluir ou consultar tabelas gerenciais. Consulte gerenciar privilégios em Unity Catalog.
Todas as leituras e gravações em tabelas gerenciais devem usar nomes de tabelas e nomes de catálogos e esquemas onde eles existirem (por exemplo, catalog_name.schema_name.table_name
).
Esta página se concentra em Unity Catalog gerenciar tabelas. Para gerenciar tabelas no site legado Hive metastore, consulte Objetos de banco de dados no site legado Hive metastore.
Por que usar as tabelas do Unity Catalog gerenciar?
Unity Catalog Gerenciar tabelas otimiza automaticamente os custos de armazenamento e as velocidades de consulta usando a tecnologia AI, como clustering automático, compactação do tamanho do arquivo e coleta inteligente de estatísticas. Essas tabelas simplificam o gerenciamento de dados com recursos como vacuum automático e cache de metadados, além de garantir a interoperabilidade com ferramentas de terceiros Delta e Iceberg.
Os recursos a seguir são exclusivos das tabelas gerenciais do site Unity Catalog e não estão disponíveis para tabelas externas e tabelas estrangeiras.
Recurso | Benefícios | Habilitado por default? | Configurável? |
---|---|---|---|
Otimiza automaticamente a disposição de seus dados e compute usando AI, para que o senhor não precise lidar manualmente com operações para gerenciar tabelas. Databricks recomenda habilitar a otimização preditiva para todas as tabelas gerenciais para reduzir os custos de armazenamento e compute. Otimização preditiva com execução automática: - | Sim, para todas as novas contas criadas a partir de 11 de novembro de 2024. Para contas correntes, o site Databricks está começando a implementar a otimização preditiva pelo site default. Consulte Verificar se a otimização preditiva está ativada. | Sim Consulte Habilitar a otimização preditiva. | |
Para mesas com otimização preditiva, a ativação do clustering líquido automático permite que o Databricks selecione de forma inteligente a chave clustering. À medida que os padrões de consulta mudam, o site Databricks atualiza automaticamente a chave clustering para melhorar o desempenho e reduzir os custos. | Não | Sim. Consulte Ativar clustering líquido. | |
O armazenamento em cache na memória dos metadados da transação melhora o desempenho da consulta ao minimizar as solicitações à transação log armazenada em cloud. Esse recurso melhora o desempenho da consulta. | Sim | Não. O cache de metadados está sempre ativado para tabelas gerenciar. | |
Se o senhor DROP uma tabela gerenciar, o site Databricks exclui os dados do armazenamento cloud após 7 dias, reduzindo os custos de armazenamento. Para tabelas externas, você deve acessar manualmente seu bucket de armazenamento e excluir os arquivos. | Sim | Não. Para tabelas gerenciar, os arquivos são sempre excluídos automaticamente após 7 dias. |
Criar uma tabela gerenciadora
Para criar uma tabela gerenciar, o senhor deve ter:
USE SCHEMA
no esquema principal da tabela.USE CATALOG
no catálogo principal da tabela.CREATE TABLE
no esquema principal da tabela.
Use a seguinte sintaxe SQL para criar uma tabela gerenciar vazia usando SQL. Substitua os valores do espaço reservado:
<catalog-name>
: nome do catálogo que conterá a tabela.<schema-name>
: o nome do esquema contendo a tabela.<table-name>
: Um nome para a tabela.<column-specification>
: o nome e o tipo de dados de cada coluna.
-- Create a managed Delta table
CREATE TABLE <catalog-name>.<schema-name>.<table-name>
(
<column-specification>
);
-- Create a managed Iceberg table
CREATE TABLE <catalog-name>.<schema-name>.<table-name>
(
<column-specification>
)
USING iceberg;
Para manter o desempenho nas leituras e gravações, o site Databricks executa periodicamente operações para otimizar os metadados da tabela gerenciar Iceberg. Essa tarefa é realizada usando serverless compute, que tem permissões MODIFY
na tabela Iceberg. Essa operação só grava nos metadados da tabela, e o site compute só mantém as permissões da tabela durante a duração da tarefa.
Para criar uma tabela Iceberg, especifique explicitamente USING iceberg
. Caso contrário, Databricks cria uma tabela Delta Lake por default.
O senhor pode criar tabelas gerenciar a partir de resultados de consultas ou DataFrame escrever operações. Os artigos a seguir demonstram alguns dos muitos padrões que o senhor pode usar para criar uma mesa de gerenciar em Databricks:
Soltar uma tabela gerenciar
Para descartar uma tabela gerenciar, o senhor deve ter:
MANAGE
na mesa ou você deve ser o dono da mesa.USE SCHEMA
no esquema principal da tabela.USE CATALOG
no catálogo principal da tabela.
Para descartar uma tabela gerenciada, execute o seguinte comando SQL:
DROP TABLE IF EXISTS catalog_name.schema_name.table_name;
Unity Catalog suporta o comando UNDROP TABLE
para recuperar tabelas gerenciadas descartadas por 7 dias. Após 7 dias, o site Databricks marca os dados subjacentes para exclusão da sua nuvem tenant e remove os arquivos durante a manutenção automatizada da tabela. Veja UNDROP.