Pular para o conteúdo principal

Unity Catalog Gerenciar tabelas em para e Databricks Delta Lake Apache Iceberg

info

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).

nota

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: - OPTIMIZE: Melhora o desempenho da consulta compactando o tamanho dos arquivos e agrupando novos dados de forma incremental. Consulte Otimizar a disposição do arquivo de dados e Usar líquido clustering para tabelas. - VACUUM: Ajuda você a economizar nos custos de armazenamento excluindo arquivos desnecessários. Consulte Remover arquivos de dados não utilizados com o vacuum. - ANALYZE: Ajuda você a coletar estatísticas que ajudam a pular dados e acelerar as consultas. Consulte ANALYZE TABLE. Esse recurso reduz os custos de compute e de armazenamento, pois economiza o tamanho do armazenamento. Consulte Otimização preditiva para Unity Catalog gerenciar tabelas.

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.

DROP TABLE

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.
SQL
-- 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.

nota

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:

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.