Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Catálogo do Unity dá suporte a três tipos de tabela primária: tabelas gerenciadas, externas e estrangeiras. Cada tipo difere em como os dados são armazenados, gerenciados e regidos.
Tabelas gerenciadas
Tabelas gerenciadas são o tipo de tabela padrão e recomendado. O Catálogo do Unity gerencia o ciclo de vida de dados, o local de armazenamento e as otimizações. Quando você descarta uma tabela gerenciada, os metadados e os arquivos de dados subjacentes são excluídos.
As tabelas gerenciadas são apoiadas pelo Delta Lake ou Apache Iceberg e fornecem:
- Otimização automática para redução de custos de armazenamento e computação
- Desempenho de consulta mais rápido em todos os tipos de cliente
- Manutenção automática da tabela
- Proteger o acesso para clientes que não são do Databricks por meio de APIs abertas
- Atualizações automáticas para os recursos mais recentes da plataforma
Os arquivos de dados são armazenados no esquema ou catálogo que contém a tabela. Consulte tabelas gerenciadas do Unity Catalog no Azure Databricks para Delta Lake e Apache Iceberg.
Tabelas externas
Tabelas externas registram dados armazenados no armazenamento de objetos de nuvem que você gerencia. O Catálogo do Unity rege o acesso a dados, mas não gerencia o ciclo de vida de dados, otimizações ou layout de armazenamento. Quando você descarta uma tabela externa, somente os metadados são removidos. Os arquivos de dados subjacentes permanecem.
As tabelas externas do Catálogo do Unity dão suporte aos formatos Delta Lake (recomendado) e CSV, JSON, AVRO, PARQUET, ORC e TEXT. Tabelas externas que não são Delta não têm as garantias transacionais nem as otimizações de desempenho do Delta Lake.
Use tabelas externas quando precisar:
- Registrar dados existentes que não são compatíveis com tabelas gerenciadas do Catálogo do Unity
- Fornecer acesso direto a dados de clientes que não são do Databricks que não dão suporte a outros padrões de acesso externo
Consulte Trabalhar com tabelas externas.
Tabelas estrangeiras
Tabelas estrangeiras (também chamadas de tabelas federadas) são registradas usando o Catálogo do Unity como parte de um catálogo estrangeiro. Os sistemas externos gerenciam os dados e os metadados, enquanto o Catálogo do Unity adiciona governança de dados para consulta.
O Azure Databricks dá suporte a dois métodos para registrar tabelas estrangeiras:
- Federação de consultas: usa conexões JDBC seguras para sistemas de dados externos, como PostgreSQL e MySQL
- Federação de catálogo: conecta catálogos externos para consultar dados diretamente no armazenamento de arquivos
As tabelas externas baseadas no Delta Lake não têm muitas otimizações disponíveis nas tabelas gerenciadas no Unity Catalog. Para cargas de trabalho de produção ou conjuntos de dados consultados com frequência, migre para tabelas gerenciadas do Catálogo do Unity para obter melhor desempenho. Consulte Trabalho com tabelas estrangeiras.
Comparação de tipos de tabela
A tabela a seguir compara os três tipos de tabela:
| Característica | Tabelas gerenciadas | Tabelas externas | Tabelas estrangeiras |
|---|---|---|---|
| Gerenciamento do ciclo de vida de dados | O Catálogo do Unity gerencia | Você gerencia | O sistema externo gerencia |
| Local de armazenamento | O Catálogo do Unity gerencia | Você especifica | O sistema externo gerencia |
| Otimizações automáticas | Yes | Limited | Não |
| Formatos com suporte | Delta Lake, Apache Iceberg | Delta Lake (recomendado), CSV, JSON, AVRO, PARQUET, ORC, TEXT | Depende do sistema externo |
Dados excluídos em DROP TABLE |
Yes | Não | Não |
| Mais adequado para | Cargas de trabalho de produção, dados consultados com frequência | Integrações herdadas, dados existentes | Migração de sistemas externos, acesso temporário |
Outros tipos de tabela
O Azure Databricks também dá suporte a tipos de tabela especializados para casos de uso específicos:
- Tabelas de streaming: conjuntos de dados do Lakeflow Spark Declarative Pipelines apoiados pelo Delta Lake com lógica de processamento incremental
- Exibições materializadas: conjuntos de dados do Lakeflow Spark Declarative Pipelines apoiados pelo Delta Lake que materializam os resultados da consulta usando a lógica de fluxo gerenciado
Tipos de tabela herdados
Os tipos de tabela herdados a seguir têm suporte para compatibilidade com versões anteriores, mas não são recomendados para o novo desenvolvimento.
Tabelas do Hive
As tabelas do Hive utilizam padrões legados, incluindo o Hive metastore legado, os codecs do SerDe do Hive ou a sintaxe do Hive SQL. Por padrão, tabelas registradas usando o metastore herdado do Hive armazenam dados na raiz herdada do DBFS.
Migre todas as tabelas do sistema legada HMS para o Unity Catalog. Veja Objetos de banco de dados no metastore do Hive herdado. Opcionalmente, você pode federar um metastore do Hive para o Catálogo do Unity. Confira Federação de metastore do Hive: habilite o Unity Catalog para gerenciar tabelas registradas em um metastore do Hive.
O Apache Spark dá suporte ao registro e à consulta de tabelas do Hive, mas esses codecs não são otimizados para o Azure Databricks. Registre tabelas do Hive apenas para dar suporte a consultas em dados gravados por sistemas externos. Consulte Tabela Hive (herdada).
Tabelas dinâmicas
O termo tabelas dinâmicas refere-se a uma implementação anterior da funcionalidade agora disponível como exibições materializadas. Atualize o código herdado que faz referência a tabelas dinâmicas para usar a sintaxe de exibição materializada. Consulte Pipelines Declarativos do Lakeflow Spark e exibições materializadas.