Conecte-se ao serviço e ao armazenamento de objetos na nuvem usando Unity Catalog
Este artigo fornece uma visão geral das conexões de armazenamento em nuvem necessárias para trabalhar com o uso de dados Unity Catalog, juntamente com informações sobre como o site Unity Catalog rege o acesso ao armazenamento em nuvem e ao serviço de nuvem externo.
Se o seu site workspace foi criado antes de 8 de novembro de 2023, ele pode não estar habilitado para Unity Catalog. Um administrador do account deve habilitar o Unity Catalog para o seu workspace. Consulte Ativar um workspace para Unity Catalog.
Como o Unity Catalog usa o armazenamento em nuvem?
A Databricks recomenda o uso do Unity Catalog para gerenciar o acesso a todos os dados que o senhor armazenou no armazenamento de objetos na nuvem. O Unity Catalog oferece 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 um lakehouse.
- Crie e leia tabelas gerenciais e volumes gerenciais de dados não estruturados no armazenamento em nuvem do Unity Catalog-gerenciar.
- registrar ou criar 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 Unity Catalog).
Para ser mais específico, o Unity Catalog usa o armazenamento em nuvem de duas maneiras principais:
- locais de armazenamento padrão (ou "gerenciar") para tabelas gerenciar e volumes gerenciar (dados não estruturados e não tabulares) que o senhor cria em Databricks. Esses locais de armazenamento gerencial podem ser definidos no nível do metastore, do catálogo ou do esquema. O senhor cria locais de armazenamento gerenciar em seu provedor de nuvem, mas o ciclo de vida deles é totalmente gerenciado por Unity Catalog.
- Locais de armazenamento onde tabelas e volumes externos são armazenados. São tabelas e volumes cujo acesso a partir de Databricks é gerenciado por Unity Catalog, mas cujo ciclo de vida de dados e disposição de arquivos são gerenciados usando seu provedor de nuvem e outras plataformas de dados. Normalmente, o senhor usa tabelas externas para registrar grandes quantidades de dados existentes em Databricks ou se também precisar de acesso de gravação às ferramentas de uso de dados fora de Databricks.
Para obter mais informações sobre gerenciar versus tabelas e volumes externos, consulte O que é uma tabela? e What are Unity Catalog volumes (O que são volumes do Unity Catalog?).
Não conceda a identidades que não sejamUnity Catalog acesso em nível de armazenamento a tabelas ou volumes gerenciados pelo Unity Catalog. Esses dados comprometem a segurança e a governança.
Evite conceder aos usuários ou à entidade de serviço acesso direto a Amazon S3 ou aos buckets do Cloudflare R2 que são usados como armazenamento gerenciar Unity Catalog. A única identidade que deve ter acesso aos dados gerenciados por Unity Catalog é a identidade usada por Unity Catalog. Ignorar isso cria os seguintes problemas em seu ambiente:
- Os controles de acesso estabelecidos no Unity Catalog podem ser contornados por usuários que têm acesso direto a buckets S3 ou R2.
- Auditoria, linhagem e outros recursos de monitoramento do Unity Catalog não capturarão o acesso direto.
- O ciclo de vida dos dados está quebrado. Ou seja, modificar, excluir ou evoluir tabelas no Databricks interromperá os consumidores que têm acesso direto ao armazenamento, e gravações fora do Databricks podem resultar em corrupção de dados.
Quais provedores de armazenamento em nuvem são compatíveis?
Databricks on AWS suporta tanto AWS S3 quanto buckets Cloudflare R2 como locais de armazenamento em nuvem para dados ativos registrados em Unity Catalog. O R2 destina-se principalmente a casos de uso em que o senhor deseja evitar taxas de saída de dados, como o Delta Sharing 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 seguro chamado de 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 seguro do Unity Catalog chamado credencial de armazenamento . Ao conceder e revogar o acesso a locais externos seguros em Unity Catalog, o senhor controla o acesso aos dados no local de armazenamento em nuvem. Ao conceder e revogar o acesso a credenciais de armazenamento seguras no Unity Catalog, o senhor controla a capacidade de criar objetos de localização externa.
Para obter detalhes, consulte gerenciar o acesso ao armazenamento em nuvem usando 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, a Databricks recomenda que os usuários leiam e gravem todas as tabelas do Unity Catalog usando nomes de tabela e acessem dados em volumes usando caminhos /Volumes
. Os volumes são o objeto seguro que a maioria dos usuários do Databricks deve usar para interagir diretamente com dados não tabulares no armazenamento de objetos na nuvem. Consulte O que são volumes do Unity Catalog?
Se o senhor atualizar os metadados da tabela externa usando um cliente que não seja do Databricks ou usando o acesso baseado em caminho de dentro do Databricks, esses metadados não sincronizarão automaticamente o estado com o Unity Catalog. Databricks não recomenda essas atualizações de metadados, mas se o senhor fizer uma, deverá executar MSCK REPAIR TABLE <table-name> SYNC METADATA
para atualizar o esquema em Unity Catalog. Veja a TABELA DE REPARO.
Como o site Unity Catalog controla o acesso a outros serviços de nuvem?
Unity Catalog rege o acesso ao serviço de não armazenamento usando um objeto seguro 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 da 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 gerenciar Unity Catalog ou local de armazenamento externo. Para esses casos de uso, use uma credencial de armazenamento, conforme descrito em Como o Unity Catalog controla o acesso ao armazenamento em nuvem?
As credenciais de serviço são a alternativa Unity Catalog ao perfil de instância, com a vantagem de que o acesso não está vinculado a um recurso compute específico, mas sim a usuários, grupos ou entidades de serviço.
Para obter detalhes, consulte:
- gerenciar o acesso ao serviço de nuvem externo usando credenciais de serviço
- serviço gerenciado de credenciamento
- Use as credenciais do serviço Unity Catalog para se conectar a um serviço de nuvem externo
Próximas etapas
Se o senhor estiver começando a usar o Unity Catalog como administrador, consulte:
Se o senhor for um novo usuário e seu workspace já estiver habilitado para Unity Catalog, consulte:
Para saber mais sobre como gerenciar o acesso ao armazenamento em nuvem, consulte:
Para saber mais sobre como gerenciar o acesso ao serviço de nuvem, consulte: