Compartilhar via


Acessar dados do Databricks usando sistemas externos

Este artigo fornece uma visão geral da funcionalidade e das recomendações para tornar os dados gerenciados e regidos pelo Azure Databricks disponíveis para outros sistemas.

Esses padrões se concentram em cenários where 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 de outras organizações.

Quais são os acessos externos que o Azure Databricks suporta?

O Azure Databricks recomenda usar o Unity Catalog para controlar todos os seus ativos de dados.

O table a seguir fornece uma visão geral dos formatos de suporte e padrões de acesso para objetos Catalog do Unity.

Objeto do Unity Catalog Formatos com suporte Padrões de acesso
tables gerenciado Delta Lake, Iceberg Distribuição de credenciais, Iceberg REST catalog, Compartilhamento Delta
tables externo Lago Delta Distribuição automática de credenciais, Iceberg REST catalog, Compartilhamento Delta, URIs na nuvem
tables externo CSV, JSON, Avro, Parquet, ORC, texto URIs de nuvem
volumes externo Todos os tipos de dados URIs de nuvem

Nota

O suporte para Iceberg descreve o tables gravado pelo Azure Databricks usando Delta Lake, mas com leituras do Iceberg (UniForm) habilitadas.

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

Distribuição de credenciais do Unity Catalog

A distribuição de credenciais Unity Catalog permite que os usuários configurem clientes externos para herdar privilégios em dados geridos pelo Azure Databricks. Consulte Distribuição de credenciais do Unity Catalog para acesso ao sistema externo.

Ler tables com clientes Iceberg

O Azure Databricks fornece aos clientes Iceberg suporte somente leitura para tables registrado no Unity Catalog. Os clientes com suporte incluem Apache Spark, Apache Flink, Trino e Snowflake. Consulte Ler Databricks tables de clientes Iceberg.

Compartilhar tables somente leitura entre domínios

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

Nota

Você também pode usar o Compartilhamento Delta para grant acesso somente leitura a clientes ou parceiros. O Compartilhamento Delta também dá suporte a dados compartilhados usando o Databricks Marketplace.

Ler e gravar Delta tables externos

Você pode acessar o Unity Catalog externo tables, apoiado pelo Delta Lake, a partir de clientes de leitura e gravação externos do Delta Lake usando URIs de armazenamento de objetos na nuvem e credentials.

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

Nota

A documentação do Azure Databricks lista limitações e considerações de compatibilidade com base em versões do Databricks Runtime e recursos de plataforma. Você deve confirmar quais protocolos de leitura e escrita, bem como os recursos table, seu cliente suporta. Consulte delta.io.

Acessar dados tabulares não Delta Lake com tables externos

O Unity Catalog externo tables dão suporte a vários formatos diferentes do Delta Lake, incluindo Parquet, ORC, CSV e JSON. Os tables externos armazenam todos os arquivos de dados em diretórios em uma localização de armazenamento de objetos na nuvem, especificada por um URI de nuvem fornecido durante a criação de table. Outros sistemas acessam esses arquivos de dados diretamente do armazenamento de objetos na nuvem.

O Unity Catalog não rege leituras e gravações executadas diretamente no armazenamento de objetos de nuvem de sistemas externos, portanto, você deve configurar políticas adicionais e credentials 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 tables externos a partir de vários sistemas pode levar a problemas de consistência e corrupção de dados, pois nenhuma garantia transacional é fornecida para formatos diferentes do Delta Lake.

O Unity Catalog pode não detectar novas partições gravadas no tables externo com suporte de formatos diferentes do Delta Lake. O Databricks recomenda executar regularmente MSCK REPAIR TABLE table_name para garantir que o Unity Catalog tenha registrado todos os arquivos de dados gravados por sistemas externos.

Acesse dados não tabulares externos com volumes

O Databricks recomenda o uso de volumes externos para armazenar arquivos de dados não tabulares que são lidos ou gravados por sistemas externos, além do Azure Databricks. Confira O que são Unity Catalogvolumes?.

O Unity Catalog não rege leituras e gravações executadas diretamente no armazenamento de objetos de nuvem de sistemas externos, portanto, você deve configurar políticas adicionais e credentials 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 e inserir arquivos no volumes. Confira Gerenciar arquivos no volumes.

Nota

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