Conectar-se a um local externo DBFS root (legado)
Esta página descreve como se conectar a um local externo de armazenamento raiz doDatabricks File System (DBFS. Após a conexão, o senhor pode controlar o acesso a objetos no armazenamento DBFS root usando Unity Catalog.
Embora o site Databricks recomende que os dados não sejam armazenados no armazenamento DBFS root, é possível que o seu workspace faça isso devido a práticas herdadas. Por exemplo, seu workspace-local, legado Databricks Hive metastore pode ter armazenado dados no DBFS root. Siga este guia para se conectar ao site DBFS root criando primeiro um objeto de credencial de armazenamento que permita o acesso ao site DBFS root e, em seguida, um objeto de local externo que defina o caminho para o site DBFS root. Esses objetos permitem que o senhor se conecte ao legado Hive metastore para que sua equipe possa trabalhar com as tabelas Hive metastore usando Unity Catalog. Consulte Hive metastore federation: enable Unity Catalog to govern tables registered in a Hive metastore e Enable Hive metastore federation for a legacy workspace Hive metastore .
Antes de começar
Para criar um local externo para o,DBFS root o Unity Catalog senhor deve ter acesso a uma credencial de armazenamento que conceda acesso ao S3 bucket que contém DBFS root o. Caso contrário, o senhor pode fornecer o endereço ARN de um IAM role que concede acesso a esse bucket quando estiver criando o local externo. Esse processo é descrito nas instruções a seguir. Para obter informações sobre como criar um IAM role que conceda acesso a um local de armazenamento em nuvem a partir de Databricks, consulte a Etapa 1: Criar um IAM role.
O bucket S3 que contém DBFS root deve ter a propriedade do objeto definida como Bucket Owner Enforced . Se a propriedade do objeto estiver definida como Object Writer , a credencial de armazenamento do Unity Catalog não poderá ler dados no bucket S3.
Se o senhor usar a chave gerenciar-cliente para criptografar o bucket S3 que contém o DBFS root, poderá usar o mesmo key para ativar a criptografia para o novo local externo. Consulte as instruções abaixo e Configure encryption for S3 with KMS (Configurar criptografia para S3 com KMS).
Requisitos de permissões :
- Você deve ter os privilégios
CREATE STORAGE CREDENTIAL
eCREATE EXTERNAL LOCATION
na metastore. Os administradores de metastore têm esses privilégios em default.
Se já existir uma credencial de armazenamento para o local de armazenamento do DBFS root, o usuário que criar o local externo não precisará do CREATE STORAGE CREDENTIAL
, mas precisará do CREATE EXTERNAL LOCATION
na credencial de armazenamento e no metastore.
-
O senhor deve ser um administrador do workspace para que o sistema crie a credencial de armazenamento para o senhor durante a criação do local externo.
O senhor não precisa ser um administrador do workspace se já existir uma credencial de armazenamento que dê acesso ao local de armazenamento DBFS root e se o senhor tiver
CREATE EXTERNAL LOCATION
na credencial de armazenamento e no metastore.
Crie o local externo
O senhor pode usar o Catalog Explorer para criar um local externo para o site DBFS root.
-
Na barra lateral, clique em
Catálogo .
-
Clique em Dados externos > clique em Criar local externo .
-
Clique em Manual e depois em Avançar .
O senhor não pode usar a opção AWS Quickstart para criar um local externo para DBFS root.
-
Insira um nome de localização externa .
-
Para o tipo de armazenamento , selecione DBFS root .
Os campos URL e subcaminho são preenchidos com o caminho de armazenamento em nuvem para o site DBFS root.
Ao criar um local externo para o DBFS root, o senhor deve usar o subcaminho para o local DBFS root e não o caminho para o bucket inteiro. A URL e o subcaminho são pré-preenchidos com user/hive/warehouse
, que é o local de armazenamento default para tabelas Hive metastore. Se quiser um controle de acesso mais refinado aos dados em DBFS root, o senhor pode criar locais externos separados para subcaminhos em DBFS root.
-
Selecione uma credencial de armazenamento que conceda acesso ao local de armazenamento em nuvem DBFS root ou, se não houver nenhuma definida, clique em + Criar nova credencial de armazenamento .
Para criar a credencial de armazenamento, digite o endereço ARN de um IAM role que conceda acesso ao prefixo workspace-level DBFS root no bucket S3. Para obter informações sobre como criar um IAM role que conceda acesso a um local de armazenamento em nuvem a partir de Databricks, consulte a Etapa 1: Criar um IAM role.
Se o senhor já tiver um instance profile que cubra o local do bucket DBFS root S3 , o senhor pode clicar em Copiar instance profile para copiar o IAM role ARN para esse instance profile. O instance profile's IAM role deve ter uma relação de confiança entreaccount que permita que o Databricks assuma a função para acessar o bucket em nome dos usuários do Databricks. Para obter mais informações sobre a política IAM role e os requisitos de relacionamento de confiança, consulte Etapa 1: Criar um IAM role.
A política AWS IAM role deve restringir o acesso especificamente ao subcaminho DBFS root (por exemplo, s3://<bucket>/<shard-name>/<workspace-id>/
). Se não restringir o acesso ao local DBFS root usando o subcaminho, o usuário expõe o local de armazenamento interno workspace e pode comprometer os controles de acesso no nível workspaceou possivelmente os dados de outro workspace se o bucket for compartilhado.
-
(Opcional) Adicione um comentário.
-
(Opcional) Clique em Advanced options (Opções avançadas ) e ative o modo fallback .
O modo fallback destina-se a cenários de migração de cargas de trabalho herdadas. Consulte Ativar o modo de fallback em locais externos.
-
(Opcional) Se o bucket S3 exigir criptografia SSE, o senhor poderá configurar um algoritmo de criptografia para permitir que tabelas e volumes externos no Unity Catalog acessem os dados no bucket S3.
Se o bucket de armazenamento workspace, que inclui DBFS root, estiver criptografado usando uma configuração de chave de criptografia Databricks, o senhor poderá usar o mesmo key para ativar a criptografia para o novo local externo. Para obter instruções, consulte Configurar um algoritmo de criptografia em um local externo (somente AWS S3).
-
Clique em Criar .
-
Acesse Permissions (Permissões ) tab para conceder permissão para usar o local externo.
- Clique em Conceder .
- Selecione usuários, grupos ou entidades de serviço no campo Principals (Princípios ) e selecione o privilégio que deseja conceder.
- Clique em Conceder .
-
(Opcional) Defina o espaço de trabalho que pode acessar esse local externo.
Por default, os usuários de qualquer workspace que use esse metastore Unity Catalog podem ter acesso aos dados nesse local. O senhor pode limitar esse acesso a um espaço de trabalho específico. Databricks recomenda limitar o acesso ao site workspace em que o DBFS root está.
Consulte Vincular um local externo a um ou mais espaços de trabalho.