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 pelo Unity Catalog no Azure Databricks para Delta Lake e Apache Iceberg.
Tabelas externas
Tabelas externas fazem referência a 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, apenas os metadados do catálogo são removidos e os arquivos de dados subjacentes permanecem.
As tabelas externas do Catálogo do Unity dão suporte aos formatos Delta Lake, CSV, JSON, AVRO, PARQUET, ORC e TEXT. O Databricks recomenda que você use o formato Delta Lake porque ele tem garantias transacionais e otimizações de desempenho que os outros formatos não usam.
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 tabelas somente de leitura gerenciadas por um catálogo estrangeiro registrado no Unity Catalog. 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 que usam o formato Delta Lake não contam com muitas das otimizações disponíveis para as 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 | No |
| 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 | No | No |
| Melhor 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 são gerenciadas pelo metastore legado do Hive e usam padrões legados, incluindo codecs SerDe do Hive e sintaxe SQL do Hive. Por padrão, tabelas registradas usando o metastore herdado do Hive armazenam dados na raiz herdada do DBFS.
O Databricks recomenda que você migre todas as tabelas do HMS herdado para o Catálogo do Unity. 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 e acessar as tabelas como tabelas estrangeiras no 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 os codecs do SerDe do Hive não são otimizados para Azure Databricks. Registre tabelas do Hive somente quando precisar 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.