Resolver conflitos de caminho de armazenamento
Ocorre um conflito de caminho de armazenamento quando um local externo se sobrepõe ao caminho de armazenamento default Unity Catalog de qualquer workspace em sua account Databricks . Essa sobreposição interfere no processamento interno de certos recursos Unity Catalog . Se a sua account apresentar um conflito de caminho de armazenamento, você deverá atualizar a configuração de localização externa.
Unity Catalog valida locais externos em relação a todas as configurações de armazenamento registradas em sua account Databricks , e não apenas no workspace onde o local foi criado. Consequentemente, pode surgir um conflito se vários espaços de trabalho na mesma account compartilharem o mesmo bucket.
Como o conflito acontece
Ocorre um conflito quando você cria ou atualiza um local externo que se sobrepõe ao caminho de armazenamento default Unity Catalog de qualquer workspace em sua account. Este caminho default é configurado usando o objeto de configuração de armazenamento durante a implantação workspace clássico. Consulte Criar uma configuração de armazenamento. Por exemplo:
- Caminho padrão de armazenamento workspace utilizado para criar workspace:
s3://<your-bucket>/<region>/ - Localização externa sobreposta (conflito):
s3://<your-bucket>/
Essa sobreposição impede que Unity Catalog utilize o local de armazenamento workspace para processamento interno e bloqueia certas funcionalidades Unity Catalog . A sobreposição de dados também enfraquece a governança de dados, pois os dados internos workspace podem ser expostos pela localização externa. Consequentemente, os caminhos de localização externos não devem se sobrepor a nenhum caminho de armazenamento default Unity Catalog do seu workspace account
No entanto, você pode criar um local externo em caminhos mais específicos dentro de um caminho de armazenamento default workspace , como o localDBFS root. Isso ocorre porque o local DBFS root é um diretório irmão do caminho de armazenamento interno do workspace e não cria um conflito.
Identifique seu cenário
Verifique seus locais externos no Catalog Explorer na interface do usuário do Databricks para verificar se o caminho do local externo inclui ou é mais amplo do que o caminho de armazenamento default do seu workspace.
Exemplo:
- Localização externa:
s3://<your-bucket>/ - caminho de armazenamento do default do espaço de trabalho:
s3://<your-bucket>/<region>/
Considere os cenários a seguir para ajudá-lo a determinar como proceder.
Cenário A: atualizações de localização externa sem mover dados
Você define um local externo em um caminho amplo (como s3://<customer-bucket>/), mas acessa dados em uma pasta irmã mais específica, como dados do Sistema de Arquivos Databricks legados armazenados em s3://<customer-bucket>/<region>/<workspace-id>/.
Ação: (Recomendado) Atualize sua localização externa existente para o caminho mais específico. Essa alteração resolve o conflito e continua permitindo o acesso a todos os dados. Por exemplo, você atualizaria o caminho de s3://<your-bucket>/ para s3://<your-bucket>/<region>/<workspace-id>/. Isso também evita o vazamento acidental de dados internos d workspace.
Cenário B: gerenciar tabelas armazenadas no local do bucket raiz
Defina um local externo na raiz do seu bucket (por exemplo, s3://<your-bucket>/) e crie tabelas gerenciar diretamente abaixo dele, como s3://<your-bucket>/__unity_storage/catalogs/<catalog_id>/tables/<table_id>.
Nesse caso, atualizar o caminho não é possível e você deve mover os dados.
Ação: Abra um ticket de suporte com o Suporte da Databricks. A equipe de suporte pode auxiliá-lo a migrar seus dados gerenciados para um novo local e restaurar seu metastore para um estado sem conflitos.