Tipos de tabela Unity Catalog Databricks
Unity Catalog suporta três tipos principais de tabelas: gerenciais, externas e estrangeiras. Cada tipo difere na forma como os dados são armazenados, gerenciados e governados.
mesas
As tabelas são o tipo de tabela default e recomendado. Unity Catalog gerencia o ciclo de vida dos dados, o local de armazenamento e as otimizações. Ao excluir uma tabela, tanto os metadados quanto os arquivos de dados subjacentes são apagados.
As tabelas são suportadas por Delta Lake ou Apache Iceberg e fornecem:
- Otimização automática para redução de custos de armazenamento e compute
- Desempenho de consulta mais rápido em todos os tipos de clientes.
- Manutenção automática de mesas
- Acesso seguro para clientes que não utilizam o Databricks por meio de APIs abertas.
- Atualizações automáticas para a versão mais recente da plataforma.
Os arquivos de dados são armazenados no esquema ou catálogo que contém a tabela. Consulte Unity Catalog para gerenciar tabelas no Databricks para Delta Lake e Apache Iceberg.
Tabelas externas
Tabelas externas registram dados armazenados no armazenamento de objetos cloud que você gerencia. Unity Catalog controla o acesso aos dados, mas não controla o ciclo de vida dos dados, as otimizações ou o armazenamento. Ao excluir uma tabela externa, apenas os metadados são removidos — os arquivos de dados subjacentes permanecem.
As tabelas externas Unity Catalog são compatíveis com o formato Delta Lake (recomendado) e com os formatos CSV, JSON, AVRO, Parquet, ORC e TEXT . Tabelas externas que não são do tipo Delta não possuem as garantias transacionais e as otimizações de desempenho do Delta Lake.
Utilize tabelas externas quando precisar:
- registrar dados existentes que não são compatíveis com Unity Catalog gerenciar tabelas
- Fornecer acesso direto aos dados a partir de clientes que não sejam do Databricks e que não suportem 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 Unity Catalog como parte de um catálogo estrangeiro. Sistemas externos gerenciam os dados e metadados, enquanto Unity Catalog adiciona governança de dados para consulta.
Databricks suporta dois métodos para registrar tabelas estrangeiras:
- Federação de consultas : utiliza conexões JDBC seguras com sistemas de dados externos como PostgreSQL e MySQL.
- Federação de catálogos : Conecta catálogos externos para consultar dados diretamente no armazenamento de arquivos.
Tabelas estrangeiras com suporte do Delta Lake carecem de muitas otimizações disponíveis nas tabelas gerenciadas Unity Catalog . Para cargas de trabalho de produção ou conjuntos de dados consultados com frequência, migre para tabelas gerenciadas Unity Catalog para obter melhor desempenho. Consulte Trabalhar com tabelas estrangeiras.
Comparação de tipos de tabela
A tabela a seguir compara os três tipos de tabela:
Recurso | Tabelas gerenciadas | Tabelas externas | Tabelas estrangeiras |
|---|---|---|---|
Gestão do ciclo de vida dos dados | Gerenciamento Unity Catalog | Você | Sistema externo |
Localização de armazenamento | Gerenciamento Unity Catalog | Você especifica | Sistema externo |
Otimizações automáticas | Sim | Limitado | Não |
Formatos suportados | Delta Lake, IcebergApache | Delta Lake (recomendado), CSV, JSON, AVRO, Parquet, ORC, TEXT | Depende de um sistema externo. |
Dados excluídos em | Sim | Não | Não |
Ideal para | Cargas de trabalho de produção, dados consultados com frequência | Integrações legadas, dados existentes | Migração de sistemas externos, acesso temporário |
Outros tipos de tabela
O Databricks também oferece suporte a tipos de tabela especializados para casos de uso específicos:
- tabelas de transmissão : Conjunto de dados de pipeline declarativo LakeFlow Spark com suporte do Delta Lake e lógica de processamento incremental
- Visão materializada : Conjunto de dados de pipeline declarativo LakeFlow Spark , com suporte do Delta Lake , que materializa os resultados da consulta usando lógica de fluxo gerencial.
Tipos de tabela legados
Os seguintes tipos de tabela legados são suportados para fins de compatibilidade com versões anteriores, mas não são recomendados para novos desenvolvimentos.
Hive tabelas
As tabelas Hive usam padrões legados, incluindo o Hive metastore, os codecs SerDe Hive ou a sintaxe SQL Hive . Por default, as tabelas registradas usando o Hive metastore legado armazenam dados na DBFS root legada.
Migrar todas as tabelas do HMS legado para o Unity Catalog. Consulte Objetos de banco de dados no Hive metastorelegado. Opcionalmente, você pode federar um Hive metastore ao Unity Catalog. Consulte FederaçãoHive metastore : habilite Unity Catalog para governar as tabelas registradas em um Hive metastore.
O Apache Spark oferece suporte ao registro e à consulta de tabelas Hive, mas esses codecs não são otimizados para o Databricks. O registro de tabelas Hive serve apenas para dar suporte a consultas em dados gravados por sistemas externos. Consulte a tabela Hive (legada).
Mesas ao vivo
O termo " tabelas dinâmicas" refere-se a uma implementação anterior da funcionalidade agora disponível como visão materializada . Atualize o código legado que faz referência a tabelas em tempo real para usar a sintaxe view materializada. Veja o pipeline declarativoLakeFlow Spark e a visualização materializada.