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

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.

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ção preditiva

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: - OPTIMIZE: Melhora o desempenho da consulta compactando o tamanho dos arquivos e incrementando clustering novos dados. - VACUUM: Ajuda você a economizar nos custos de armazenamento excluindo arquivos não utilizados. - ANALYZE: Coleta estatísticas que ajudam o Databricks a implementar a omissão de dados para acelerar as consultas.

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.

Líquido automático clustering

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.

Armazenamento em cache de metadados

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.

Exclusão automática de arquivos após um comando DROP TABLE

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

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:

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.