Conecte-se ao armazenamento e serviços de objetos na nuvem usando o Unity Catalog
Este artigo fornece uma visão geral das conexões de armazenamento em nuvem necessárias para trabalhar com dados usando o Unity Catalog, juntamente com informações sobre como o Unity Catalog controla o acesso ao armazenamento em nuvem e aos serviços de nuvem externos.
Nota
Se seu espaço de trabalho foi criado antes de 9 de novembro de 2023, ele pode não estar habilitado para o Catálogo Unity. Um administrador de conta deve habilitar o Catálogo Unity para seu espaço de trabalho. Consulte Habilitar um espaço de trabalho para o Catálogo Unity.
Como o Unity Catalog usa o armazenamento em nuvem?
O Databricks recomenda o uso do Unity Catalog para gerenciar o acesso a todos os dados armazenados no armazenamento de objetos na nuvem. O Unity Catalog fornece um conjunto de ferramentas para configurar conexões seguras com o armazenamento de objetos na nuvem. Essas conexões fornecem acesso para concluir as seguintes ações:
- Ingerir dados brutos em uma casa de lago.
- Crie e leia tabelas gerenciadas e volumes gerenciados de dados não estruturados no armazenamento em nuvem gerenciado pelo Unity Catalog.
- Registre ou crie tabelas externas contendo dados tabulares e volumes externos contendo dados não estruturados no armazenamento em nuvem que é gerenciado usando seu provedor de nuvem.
- Ler e gravar dados não estruturados (como volumes do Catálogo Unity).
Para ser mais específico, o Unity Catalog usa o armazenamento em nuvem de duas maneiras principais:
- Locais de armazenamento padrão (ou "gerenciados") para tabelas gerenciadas e volumes gerenciados (dados não estruturados e não tabulares) criados no Databricks. Esses locais de armazenamento gerenciado podem ser definidos no nível de metastore, catálogo ou esquema. Você cria locais de armazenamento gerenciados em seu provedor de nuvem, mas seu ciclo de vida é totalmente gerenciado pelo Unity Catalog.
- Locais de armazenamento onde tabelas e volumes externos são armazenados. Essas são tabelas e volumes cujo acesso do Azure Databricks é gerenciado pelo Unity Catalog, mas cujo ciclo de vida de dados e layout de arquivo são gerenciados usando seu provedor de nuvem e outras plataformas de dados. Normalmente, você usa tabelas externas para registrar grandes quantidades de seus dados existentes no Azure Databricks ou se também precisar de acesso de gravação aos dados usando ferramentas fora do Azure Databricks.
Para obter mais informações sobre tabelas e volumes gerenciados versus externos, consulte O que são tabelas e exibições? e O que são volumes do catálogo Unity?.
Aviso
Não dê aos usuários finais acesso em nível de armazenamento a tabelas ou volumes gerenciados pelo Unity Catalog. Isso compromete a segurança e a governança dos dados.
Conceder aos usuários acesso direto no nível de armazenamento ao armazenamento de local externo no Azure Data Lake Storage Gen2 não honra quaisquer permissões concedidas ou auditorias mantidas pelo Unity Catalog. O acesso direto ignorará auditoria, linhagem e outros recursos de segurança e monitoramento do Unity Catalog, incluindo controle de acesso e permissões. Você é responsável por gerenciar o acesso direto ao armazenamento por meio do Azure Data Lake Storage Gen2 e garantir que os usuários tenham as permissões apropriadas concedidas por meio da Malha.
Evite todos os cenários que concedem acesso direto de gravação no nível de armazenamento para buckets que armazenam tabelas gerenciadas do Databricks. Modificar, excluir ou evoluir quaisquer objetos diretamente através do armazenamento que foram originalmente gerenciados pelo Unity Catalog pode resultar em corrupção de dados.
Que fornecedores de armazenamento na nuvem são suportados?
O Azure Databricks suporta contêineres do Azure Data Lake Storage Gen2 e buckets do Cloudflare R2 como locais de armazenamento em nuvem para dados e ativos de IA registrados no Catálogo Unity. O R2 destina-se principalmente a casos de uso em que você deseja evitar taxas de saída de dados, como o Compartilhamento Delta entre nuvens e regiões. Para obter mais informações, consulte Usar réplicas do Cloudflare R2 ou migrar o armazenamento para o R2.
Como o Unity Catalog controla o acesso ao armazenamento em nuvem?
Para gerenciar o acesso ao armazenamento em nuvem subjacente que contém tabelas e volumes, o Unity Catalog usa um objeto protegível chamado local externo, que define um caminho para um local de armazenamento em nuvem e as credenciais necessárias para acessar esse local. Essas credenciais são, por sua vez, definidas em um objeto protegível do Unity Catalog chamado credencial de armazenamento. Ao conceder e revogar o acesso a protegíveis de localização externa no Unity Catalog, você controla o acesso aos dados no local de armazenamento em nuvem. Ao conceder e revogar o acesso a credenciais de armazenamento protegíveis no Unity Catalog, você controla a capacidade de criar objetos de localização externa.
Para obter detalhes, consulte Gerenciar o acesso ao armazenamento em nuvem usando o Unity Catalog.
Acesso baseado em caminhos ao armazenamento em nuvem
Embora o Unity Catalog ofereça suporte ao acesso baseado em caminho a tabelas externas e volumes externos usando URIs de armazenamento em nuvem, o Databricks recomenda que os usuários leiam e gravem todas as tabelas do Unity Catalog usando nomes de tabelas e acessem dados em volumes usando /Volumes
caminhos. Os volumes são o objeto protegível que a maioria dos usuários do Azure Databricks deve usar para interagir diretamente com dados não tabulares no armazenamento de objetos na nuvem. Consulte O que são volumes do Catálogo Unity?.
Práticas recomendadas para armazenamento em nuvem com o Unity Catalog
O Azure Databricks requer o uso do Azure Data Lake Storage Gen2 como o serviço de armazenamento do Azure para dados processados no Azure Databricks usando a governança do Catálogo Unity. O Azure Data Lake Storage Gen2 permite separar os custos de armazenamento e computação e aproveitar o controle de acesso refinado fornecido pelo Unity Catalog. Se os dados forem armazenados no OneLake (o data lake do Microsoft Fabric) e processados pelo Databricks (ignorando o Unity Catalog), você incorrerá em custos de armazenamento e computação agrupados. Isso pode levar a custos aproximadamente 3 vezes maiores para leituras e 1,6 vezes maiores para gravações em comparação com o Azure Data Lake Storage Gen2 para armazenamento, leitura e gravação de dados. O Armazenamento de Blobs do Azure também é incompatível com o Catálogo Unity.
Caraterística | Armazenamento de Blobs do Azure | Azure Data Lake Storage Gen2 | OneLake |
---|---|---|---|
Suportado pelo Catálogo Unity | X | ✓ | X |
Requer compra adicional de capacidade de malha | X | X | ✓ |
Operações suportadas a partir de motores externos | - Ler - Escrever |
- Ler - Escrever |
- Ler (as leituras incorrem em 3x o custo em comparação com a leitura de dados do Azure Data Lake Storage Gen2). - Gravações não são suportadas. Para obter detalhes, consulte a documentação do OneLake. |
Implementação | Regional | Regional | Global |
Autenticação | Assinatura de Acesso Compartilhado Entra ID | Assinatura de Acesso Compartilhado Entra ID | Entra ID |
Eventos de armazenamento | ✓ | ✓ | X |
Eliminação recuperável | ✓ | ✓ | ✓ |
Controlo de acesso | RBAC | RBAC, ABAC, ACL | RBAC (Somente tabela/pasta, ACLs de atalho não suportadas) |
Chaves de encriptação | ✓ | ✓ | X |
Camadas de acesso | Arquivo online | Quente, frio, frio, arquivo | Apenas quente |
Como o Unity Catalog controla o acesso a outros serviços de nuvem?
O Unity Catalog controla o acesso a serviços que não são de armazenamento usando um objeto protegível chamado credencial de serviço. Uma credencial de serviço encapsula uma credencial de nuvem de longo prazo que fornece acesso a um serviço externo ao qual os usuários precisam se conectar a partir do Azure Databricks.
As credenciais de serviço não se destinam a controlar o acesso ao armazenamento em nuvem que é usado como um local de armazenamento gerenciado do Catálogo Unity ou um local de armazenamento externo. Para esses casos de uso, use uma credencial de armazenamento, conforme descrito em Como o Unity Catalog governa o acesso ao armazenamento em nuvem?.
Para obter mais detalhes, consulte:
- Gerenciar o acesso a serviços de nuvem externos usando credenciais de serviço
- Gerenciar credenciais de serviço
- Use as credenciais do serviço Unity Catalog para se conectar a serviços de nuvem externos
Próximos passos
Se você está apenas começando a usar o Unity Catalog como administrador, consulte:
Se você for um novo usuário e seu espaço de trabalho já estiver habilitado para o Unity Catalog, consulte:
Para saber mais sobre como gerenciar o acesso ao armazenamento em nuvem, consulte:
Para saber mais sobre como gerir o acesso a serviços na nuvem, consulte: