Criar um local externo para conectar o armazenamento em nuvem ao Azure Databricks
Este artigo descreve como configurar um local externo no Unity Catalog para conectar o armazenamento em nuvem ao Azure Databricks.
Locais externos associam credenciais de armazenamento do Unity Catalog a contêineres de armazenamento de objetos na nuvem. Os locais externos são usados para definir locais de armazenamento gerenciado para catálogos e esquemas e para definir locais para tabelas externas e volumes externos.
Você pode criar um local externo que faça referência ao armazenamento em um contêiner de armazenamento do Azure Data Lake Storage Gen2 ou bucket do Cloudflare R2.
Você pode criar um local externo usando o Gerenciador de Catálogos, a CLI do Databricks, os comandos SQL em um bloco de anotações ou a consulta SQL do Databricks ou o Terraform.
Nota
Quando você define um volume, o acesso URI da nuvem aos dados sob o caminho do volume é regido pelas permissões do volume.
Antes de começar
Pré-requisitos:
Você deve criar o contêiner de armazenamento do Azure Data Lake Storage Gen2 ou o bucket do Cloudflare R2 que deseja usar como um local externo antes de criar o objeto de local externo no Azure Databricks.
As contas de armazenamento do Azure Data Lake Storage Gen2 que você usa como locais externos devem ter um namespace hierárquico.
Você deve ter uma credencial de armazenamento definida no Azure Databricks que dê acesso ao caminho do local de armazenamento em nuvem. Consulte Criar uma credencial de armazenamento para se conectar ao Azure Data Lake Storage Gen2 e Criar uma credencial de armazenamento para se conectar ao Cloudflare R2.
Requisitos de permissões:
- Você deve ter o
CREATE EXTERNAL LOCATION
privilégio no metastore e na credencial de armazenamento referenciada no local externo. Os administradores do Metastore têmCREATE EXTERNAL LOCATION
no metastore por padrão.
Criar um local externo usando o Catalog Explorer
Você pode criar um local externo manualmente usando o Catalog Explorer.
Permissões e pré-requisitos: consulte Antes de começar.
Para criar o local externo:
Faça login em um espaço de trabalho anexado ao metastore.
Na barra lateral, clique em Catálogo.
Clique no botão + Adicionar e selecione Adicionar um local externo.
Insira um nome de local externo.
Opcionalmente, copie o caminho do contêiner de um ponto de montagem existente (somente contêineres do Azure Data Lake Storage Gen2).
Se você não estiver copiando de um ponto de montagem existente, use o campo URL para inserir o contêiner de armazenamento ou o caminho do bucket R2 que deseja usar como o local externo.
Por exemplo,
abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path>
our2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>
.Selecione a credencial de armazenamento que concede acesso ao local externo.
(Opcional) Se desejar que os usuários tenham acesso somente leitura ao local externo, clique em Opções Avançadas e selecione Somente leitura. Para obter mais informações, consulte Marcar um local externo como somente leitura.
Clique em Criar.
Conceda permissão para usar o local externo.
Para que qualquer pessoa possa usar o local externo, você deve conceder permissões:
- Para usar o local externo para adicionar um local de armazenamento gerenciado ao metastore, catálogo ou esquema, conceda o
CREATE MANAGED LOCATION
privilégio. - Para criar tabelas ou volumes externos, conceda
CREATE EXTERNAL TABLE
ouCREATE EXTERNAL VOLUME
.
Para usar o Catalog Explorer para conceder permissões:
- Clique no nome do local externo para abrir o painel de detalhes.
- Na guia Permissões, clique em Conceder.
- Na caixa de diálogo Conceder em
<external location>
, selecione usuários, grupos ou entidades de serviço no campo Entidades e selecione o privilégio que deseja conceder. - Clique em Conceder.
- Para usar o local externo para adicionar um local de armazenamento gerenciado ao metastore, catálogo ou esquema, conceda o
Criar um local externo usando SQL
Para criar um local externo usando SQL, execute o seguinte comando em um bloco de anotações ou no editor de consultas SQL. Substitua os valores de espaço reservado.
Permissões e pré-requisitos: consulte Antes de começar.
<location-name>
: Um nome para o local externo. Selocation_name
incluir caracteres especiais, como hífenes (-
), ele deve ser cercado por backticks (` `
). Consulte Nomes.<bucket-path>
: O caminho em seu locatário de nuvem ao qual esse local externo concede acesso. Por exemplo,abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path>
our2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>
.<storage-credential-name>
: O nome da credencial de armazenamento que autoriza a leitura e a gravação no contêiner de armazenamento ou no caminho do bucket. Se o nome da credencial de armazenamento incluir caracteres especiais, como hífenes (-
), ele deverá ser cercado por backticks (` `
).
CREATE EXTERNAL LOCATION [IF NOT EXISTS] `<location-name>`
URL '<bucket-path>'
WITH ([STORAGE] CREDENTIAL `<storage-credential-name>`)
[COMMENT '<comment-string>'];
Próximos passos
- Conceda permissão a outros usuários para usar locais externos. Consulte Gerenciar locais externos.
- Defina locais de armazenamento gerenciados usando locais externos. Consulte Especificar um local de armazenamento gerenciado no Catálogo Unity.
- Defina tabelas externas usando locais externos. Consulte Criar uma tabela externa.
- Defina volumes externos usando locais externos. Consulte Criar e trabalhar com volumes.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários