Partilhar via


Acessar dados Databricks usando sistemas externos

Esta página fornece uma visão geral da funcionalidade e recomendações para tornar os dados gerenciados e governados pelo Azure Databricks disponíveis para outros sistemas.

Esses padrões se concentram em cenários em que sua organização precisa integrar ferramentas ou sistemas confiáveis aos dados do Azure Databricks. Se você estiver procurando orientação sobre o compartilhamento de dados fora da sua organização, consulte Compartilhar dados e ativos de IA com segurança com usuários em outras organizações.

Que acesso externo é suportado pelo Azure Databricks?

O Azure Databricks recomenda o uso do Catálogo Unity para controlar todos os seus ativos de dados. O Unity Catalog fornece integrações para clientes Delta Lake usando a API REST Unity e clientes Apache Iceberg usando o catálogo REST Iceberg. Para obter uma lista completa das integrações suportadas, consulte Integrações do Catálogo Unity.

A tabela a seguir fornece uma visão geral dos formatos de suporte e padrões de acesso para objetos do Catálogo Unity.

Objeto do Unity Catalog Formatos suportados Padrões de acesso
Tabelas gerenciadas Lago Delta, Iceberg API REST Unity, catálogo REST Iceberg, Delta Sharing
Tabelas externas Lago Delta API REST Unity, catálogo REST Iceberg, Compartilhamento Delta, URIs na nuvem
Tabelas externas CSV, JSON, Avro, Parquet, ORC, texto API REST Unity, URIs na nuvem
Volumes externos Todos os tipos de dados URIs de nuvem
Tabelas externas Lago Delta, Iceberg Unity REST API, catálogo Iceberg REST (Pré-visualização), Delta Sharing
Tabelas externas CSV, JSON, Avro, Parquet, ORC, texto API REST Unity, URIs na nuvem

* Somente tabelas estrangeiras federadas usando federação de catálogo são suportadas. Para garantir novas leituras de mecanismos externos em tabelas estrangeiras, os clientes podem atualizar periodicamente os metadados usando trabalhos do Lakeflow.

Observação

O suporte ao Iceberg descreve tabelas escritas pelo Azure Databricks usando o Delta Lake, mas com leituras Iceberg (UniForm) ativadas.

Para obter mais detalhes sobre esses objetos do Unity Catalog, consulte o seguinte:

Distribuição de credenciais do Unity Catalog

A venda automática de credenciais do Unity Catalog permite que os usuários configurem clientes externos para herdar privilégios em dados regidos pelo Azure Databricks. Os clientes Iceberg e Delta podem oferecer suporte à venda de credenciais. Consulte distribuição de credenciais do Unity Catalog para acesso a sistemas externos.

Ler tabelas com clientes Delta

Use a API REST do Unity para ler as tabelas gerenciadas e externas do Unity Catalog apoiadas pelo Delta Lake a partir de clientes Delta suportados. Consulte Ler tabelas Databricks de clientes Delta.

Leia tabelas com clientes Iceberg

O Azure Databricks fornece aos clientes Iceberg suporte somente leitura para tabelas registradas no Catálogo Unity. Os clientes suportados incluem Apache Spark, Apache Flink, Trino e Snowflake. Consulte Aceder a tabelas do Azure Databricks pelos clientes do Apache Iceberg.

Compartilhar tabelas somente leitura entre domínios

Você pode usar o Compartilhamento Delta para conceder acesso somente leitura a tabelas Delta gerenciadas ou externas entre domínios e sistemas suportados. Os sistemas de software que suportam leituras de cópia zero de tabelas Delta Sharing incluem SAP, Amperity e Oracle. Consulte Compartilhar dados e ativos de IA com segurança com usuários em outras organizações.

Observação

Você também pode usar o Compartilhamento Delta para dar acesso somente leitura a clientes ou parceiros. O Delta Sharing também suporta dados partilhados usando o Databricks Marketplace.

Criar, ler e escrever tabelas Delta externas

Importante

A criação de tabelas externas para o Unity Catalog a partir de clientes externos do Delta Lake está em Pré-visualização Pública.

Você pode criar, ler e gravar tabelas externas do Unity Catalog apoiadas pelo Delta Lake a partir de clientes externos do Delta Lake usando credenciais e URIs de armazenamento de objetos em nuvem. Para criar tabelas, consulte Criar tabelas Delta externas a partir de clientes externos.

O Unity Catalog não controla leituras e gravações executadas diretamente no armazenamento de objetos na nuvem de sistemas externos, portanto, você deve configurar políticas e credenciais adicionais em sua conta de nuvem para garantir que as políticas de governança de dados sejam respeitadas fora do Azure Databricks.

Observação

A documentação do Azure Databricks lista limitações e considerações de compatibilidade com base nas versões do Databricks Runtime e nos recursos da plataforma. Você deve confirmar quais protocolos de leitor e gravador e recursos de tabela seu cliente suporta. Ver delta.io.

Aceder a dados tabulares não-Delta Lake com tabelas externas

As tabelas externas do Unity Catalog suportam muitos formatos diferentes do Delta Lake, incluindo Parquet, ORC, CSV e JSON. As tabelas externas armazenam todos os arquivos de dados em diretórios em um local de armazenamento de objetos em nuvem especificado por um URI de nuvem fornecido durante a criação da tabela. Outros sistemas acessam esses arquivos de dados diretamente do armazenamento de objetos na nuvem.

O Unity Catalog não controla leituras e gravações executadas diretamente no armazenamento de objetos na nuvem de sistemas externos, portanto, você deve configurar políticas e credenciais adicionais em sua conta de nuvem para garantir que as políticas de governança de dados sejam respeitadas fora do Azure Databricks.

Ler e gravar em tabelas externas de vários sistemas pode levar a problemas de consistência e corrupção de dados porque nenhuma garantia transacional é fornecida para formatos diferentes do Delta Lake.

Unity Catalog pode não detectar novas partições gravadas em tabelas externas suportadas por formatos distintos do Delta Lake. O Databricks recomenda a execução regular de MSCK REPAIR TABLE table_name para garantir que o Unity Catalog tenha registrado todos os arquivos de dados gravados por sistemas externos.

Acessar dados não tabulares com volumes externos

O Databricks recomenda o uso de volumes externos para armazenar arquivos de dados não tabulares lidos ou gravados por sistemas externos, além do Azure Databricks. Consulte Quais são os volumes do Catálogo Unity?.

O Unity Catalog não controla leituras e gravações executadas diretamente no armazenamento de objetos na nuvem de sistemas externos, portanto, você deve configurar políticas e credenciais adicionais em sua conta de nuvem para garantir que as políticas de governança de dados sejam respeitadas fora do Azure Databricks.

Volumes fornece APIs, SDKs e outras ferramentas para obter arquivos e colocá-los em volumes. Consulte Trabalhar com arquivos em volumes do Catálogo Unity.

Observação

O Compartilhamento Delta permite que você compartilhe volumes com outras contas do Azure Databricks, mas não se integra a sistemas externos.