Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Unity Catalog suporta três tipos principais de tabelas: geridas, externas e estrangeiras. Cada tipo difere na forma como os dados são armazenados, geridos e governados.
Tabelas gerenciadas
As tabelas geridas são o tipo de tabela padrão e recomendado. O Unity Catalog gere o ciclo de vida dos dados, a localização do armazenamento e as otimizações. Quando se elimina uma tabela gerida, tanto os metadados como os ficheiros de dados subjacentes são eliminados.
As tabelas geridas são suportadas por Delta Lake ou Apache Iceberg e proporcionam:
- Otimização automática para redução dos custos de armazenamento e computação
- Desempenho de consultas mais rápido em todos os tipos de clientes
- Manutenção automática da tabela
- Acesso seguro para clientes não-Databricks através de APIs abertas
- Atualizações automáticas para as funcionalidades mais recentes da plataforma
Os ficheiros de dados são armazenados no esquema ou catálogo que contém a tabela. Consulte Tabelas gerenciadas do Catálogo Unity no Azure Databricks para Delta Lake e Apache Iceberg.
Tabelas externas
Tabelas externas registam dados armazenados no armazenamento de objetos na cloud que tu geres. O Unity Catalog regula o acesso aos dados, mas não gere o ciclo de vida dos dados, as otimizações ou o layout do armazenamento. Quando se elimina uma tabela externa, apenas os metadados são removidos — os ficheiros de dados subjacentes permanecem.
As tabelas externas do Unity Catalog suportam o formato Delta Lake (recomendado) e os formatos CSV, JSON, AVRO, PARQUET, ORC e TEXT. As tabelas externas não-Delta não possuem as garantias transacionais e otimizações de desempenho do Delta Lake.
Use tabelas externas quando precisar:
- Registar dados existentes que não sejam compatíveis com tabelas geridas do Unity Catalog
- Fornecer acesso direto a dados a partir de clientes que não sejam Databricks e que não suportem outros padrões de acesso externos
Consulte Trabalhar com tabelas externas.
Tabelas estrangeiras
As tabelas estrangeiras (também chamadas tabelas federadas) são registadas usando o Unity Catalog como parte de um catálogo estrangeiro. Sistemas externos gerem os dados e metadados, enquanto o Unity Catalog adiciona governação de dados para consultas.
O Azure Databricks suporta dois métodos para registar tabelas estrangeiras:
- Federação de consultas: Utiliza ligações JDBC seguras a sistemas de dados externos como PostgreSQL e MySQL
- Federação de catálogos: Liga catálogos externos para consultar dados diretamente no armazenamento de ficheiros
As tabelas estrangeiras suportadas pelo Delta Lake não possuem muitas otimizações disponíveis nas tabelas geridas pelo Unity Catalog. Para cargas de trabalho de produção ou conjuntos de dados frequentemente consultados, migre para tabelas geridas pelo Unity Catalog para melhor desempenho. Veja Trabalhar com tabelas estrangeiras.
Comparação de tipos de tabelas
A tabela seguinte compara os três tipos de tabelas:
| Característica | Tabelas gerenciadas | Tabelas externas | Tabelas estrangeiras |
|---|---|---|---|
| Gerenciamento do ciclo de vida dos dados | Unity Catalog gerencia | Tu consegues | Sistema externo gerir |
| Local de armazenamento | Unity Catalog gerencia | Tu especificas | Sistema externo gerir |
| Otimizações automáticas | Yes | Limitado | Não |
| Formatos suportados | Lago Delta, Icebergue Apache | Delta Lake (recomendado), CSV, JSON, AVRO, PARQUET, ORC, TEXTO | Depende do sistema externo |
Dados eliminados em DROP TABLE |
Yes | Não | Não |
| Melhor para | Cargas de trabalho de produção, dados frequentemente consultados | Integrações legadas, dados existentes | Migração de sistemas externos, acesso temporário |
Outros tipos de tabelas
O Azure Databricks também suporta tipos de tabelas especializados para casos de uso específicos:
- Tabelas de streaming: conjuntos de dados Lakeflow Spark Declarative Pipelines apoiados por Delta Lake com lógica de processamento incremental
- Vistas materializadas: conjuntos de dados Lakeflow Spark Declarative Pipelines apoiados pelo Delta Lake que materializam resultados de consulta usando lógica de fluxo gerido
Tipos de tabelas legadas
Os seguintes tipos de tabelas legadas são suportados para compatibilidade retroativa, mas não são recomendados para novos desenvolvimentos.
Tabelas do Hive
As tabelas Hive usam padrões antigos, incluindo o antigo metastore Hive, codecs Hive SerDe ou sintaxe Hive SQL. Por defeito, as tabelas registadas usando o metastore Hive antigo armazenam dados na raiz legada do DBFS.
Migre todas as tabelas do HMS antigo para o Unity Catalog. Consulte Objetos de base de dados na metastore herdada do Hive. Podes opcionalmente federar uma metastore Hive para o Unity Catalog. Consulte Federação de Metastore do Hive: ativar o Unity Catalog para governar tabelas registadas num metastore do Hive.
O Apache Spark suporta o registo e consulta de tabelas Hive, mas estes codecs não estão otimizados para Azure Databricks. Registe as tabelas Hive apenas para suportar consultas a dados escritos por sistemas externos. Consulte tabela Hive (legado).
Tabelas em Tempo Real
O termo tabelas ativas refere-se a uma implementação anterior de funcionalidades agora disponíveis como vistas materializadas. Atualize o código legado que faz referência a tabelas ativas para usar a sintaxe da visualização materializada. Veja Pipelines Declarativas do Lakeflow Spark e Vistas Materializadas.