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.
Tabelas estrangeiras, às vezes conhecidas como tabelas federadas, são tabelas registradas usando o Unity Catalog como parte de um catálogo estrangeiro. As tabelas estrangeiras contêm dados e metadados gerenciados por sistemas externos, com o Catálogo do Unity adicionando governança de dados para consultar essas tabelas.
O Azure Databricks dá suporte aos seguintes métodos para registrar tabelas estrangeiras:
- A federação de consulta usa conexões JDBC seguras para federar sistemas de dados externos, como PostgreSQL e MySQL.
- A federação do catálogo conecta catálogos externos, como um Metastore do Hive ou o Catálogo do Snowflake Horizon, para consultar dados diretamente no armazenamento de arquivos.
Important
Para compatibilidade com versões anteriores de cargas de trabalho herdadas do Apache Spark e do Azure Databricks, as tabelas estrangeiras em um metastore do Hive federado retornam metadados do metastore do Hive, incluindo se a tabela é uma tabela gerenciada do Hive ou uma tabela externa do Hive.
Quando usar tabelas estrangeiras
Tabelas estrangeiras fornecem flexibilidade ao integrar o Azure Databricks a sistemas de dados existentes ou migrar de sistemas herdados.
Muitas tabelas estrangeiras servem como uma solução temporária para acesso direto a dados não gerenciados por Azure Databricks, sem a necessidade de migração de dados ou refatoração de código para fluxos de trabalho ETL upstream. A Databricks recomenda migrar conjuntos de dados que dão suporte a cargas de trabalho de produção ou que são consultados com frequência para tabelas gerenciadas no Unity Catalog. As tabelas gerenciadas fornecem o melhor desempenho e têm muitas otimizações internas. Consulte Converter uma tabela externa em uma tabela gerenciada do Catálogo do Unity.
A federação de consulta é uma solução complementar para carregar dados de sistemas de dados externos sem suporte do Lakeflow Connect. O Databricks recomenda o uso de exibições materializadas para replicar tabelas estrangeiras para o Catálogo do Unity. Confira Carregar os dados de tabelas estrangeiras com exibições materializadas.
Criar ou gravar em tabelas estrangeiras
Se você tiver privilégios suficientes e seu workspace estiver configurado com um metastore do Hive interno federado, você poderá criar ou gravar em tabelas externas apoiadas por esse metastore do Hive interno federado. Metastore do Hive federado externo e todas as tabelas estrangeiras acessadas através da Federação de Lakehouse são somente leitura.
Embora as tabelas estrangeiras sejam somente leitura, o campo Atualizado por mostra o usuário que disparou a atualização de metadados mais recente. O Azure Databricks atualiza automaticamente metadados de tabela estrangeira durante consultas quando detecta que os metadados estão obsoletos. Como resultado, o campo Atualizado por campo exibe quem session_user executou a consulta, mesmo que esse usuário não tenha modificado os dados subjacentes.
O Azure Databricks não gerencia os metadados, dados ou semântica para gravações em tabelas estrangeiras. As tabelas estrangeiras podem ser apoiadas por um formato compatível com ACID, como Delta Lake ou Apache Iceberg, mas não fornecem as garantias transacionais das tabelas gerenciadas do Catálogo do Unity.
A maioria das otimizações do Azure Databricks para desempenho de consulta, velocidade de gravação aprimorada, omissão de dados desnecessários e consultas somente de metadados exige o Unity Catalog. O Databricks recomenda comparar o desempenho da consulta de leitura e gravação entre tabelas estrangeiras e tabelas gerenciadas do Catálogo do Unity usando a versão mais recente do Databricks Runtime para avaliar as diferenças de latência e custo. Consulte as tabelas gerenciadas do Unity Catalog para Delta Lake e Apache Iceberg.