Acessar dados Databricks usando sistemas externos
Este artigo 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.
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 Unity Catalog | Formatos suportados | Padrões de acesso |
---|---|---|
Tabelas gerenciadas | Lago Delta, Iceberg | Venda de credenciais, catálogo REST do Iceberg, Delta Sharing |
Tabelas externas | Lago Delta | Venda de credenciais, catálogo REST do Iceberg, compartilhamento Delta, URIs na nuvem |
Tabelas externas | CSV, JSON, Avro, Parquet, ORC, texto | URIs na nuvem |
Volumes externos | Todos os tipos de dados | URIs na nuvem |
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:
- Trabalhar com tabelas gerenciadas
- Trabalhar com tabelas externas
- O que são volumes do Catálogo Unity?
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. Consulte venda automática de credenciais do Unity Catalog para obter acesso externo ao sistema.
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. Veja Ler tabelas do Databricks a partir de clientes 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. Veja e partilhe dados e ativos de IA com segurança com usuários de outras organizações.
Observação
Você também pode usar o Compartilhamento Delta para conceder acesso somente leitura a clientes ou parceiros. O Delta Sharing também suporta dados partilhados usando o Databricks Marketplace.
Ler e escrever tabelas Delta externas
Você pode acessar tabelas externas do Unity Catalog apoiadas pelo Delta Lake a partir de clientes externos de leitor e gravador Delta Lake usando URIs e credenciais de armazenamento de objetos em 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.
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 O que são volumes do Unity Catalog?.
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 Gerenciar arquivos em volumes.
Observação
O Compartilhamento Delta permite que você compartilhe volumes com outras contas do Azure Databricks, mas não se integra a sistemas externos.