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.
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.
Recurso | Benefícios |
---|---|
Otimização preditiva | Otimiza a disposição dos dados e compute usando o AI, dimensionando automaticamente o compute, empacotando o trabalho para obter eficiência máxima e registrando os resultados para que o senhor possa observar o que aconteceu. Otimização preditiva com execução automática: - |
Líquido automático clustering | Os dados são automaticamente agrupados de forma mais eficiente, com base nos padrões de acesso de consulta à tabela, o que aumenta as velocidades de consulta para todos os clientes (Databricks e não-Databricks). Consulte Líquido automático clustering. |
Estatísticas automáticas | A coleta de estatísticas aumenta o desempenho da consulta implementando estratégias eficientes de omissão de dados e join. Ao coletar automaticamente estatísticas essenciais, como os valores mínimo e máximo das colunas, o Databricks pode determinar quais arquivos são irrelevantes e excluí-los durante a execução da consulta. Isso reduz a sobrecarga computacional. Unity Catalog tabelas externas que geram estatísticas com base nas primeiras 32 colunas pelo site default, enquanto as tabelas gerenciais Unity Catalog coletam dinamicamente estatísticas para as colunas mais relevantes para as cargas de trabalho da consulta. |
Armazenamento em cache de metadados | Armazenamento em cache na memória dos metadados da transação para minimizar as solicitações à transação log armazenada na nuvem. Esse recurso melhora o desempenho da consulta. |
Otimização do tamanho do arquivo | A Databricks compacta automaticamente os tamanhos de arquivo para que o senhor tenha o tamanho certo, aprendendo com os dados coletados de milhares de implementações de produção nos bastidores. O Databricks determinará automaticamente o tamanho do arquivo de destino e ajustará as gravações para que se adaptem melhor a esses tamanhos de arquivo, o que pode ajudar a melhorar o desempenho da consulta e economizar custos de armazenamento. Consulte Configurar o Delta Lake para controlar o tamanho do arquivo de dados. |
| Se o senhor DROPAR uma tabela gerenciar, os dados serão excluídos automaticamente no armazenamento em nuvem após 7 dias, reduzindo os custos de armazenamento. Para tabelas externas, você deve acessar manualmente seu bucket de armazenamento e excluir os arquivos. |
Criar uma tabela gerenciadora
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:
Permissões necessárias
Para criar uma tabela gerenciar, certifique-se de que o senhor tenha:
USE SCHEMA
permissão no esquema principal da tabela.USE CATALOG
permissão no catálogo principal da tabela.CREATE TABLE
permissão no esquema principal da tabela.
Soltar uma tabela gerenciar
O senhor deve ser o proprietário da tabela ou ter o privilégio MANAGE
para descartar uma tabela gerenciar. Para eliminar uma tabela gerenciar, 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.