Pular para o conteúdo principal

Resolver conflitos de caminho de armazenamento

Um conflito de caminho de armazenamento ocorre quando um local externo se sobrepõe ao caminho interno que o Databricks utiliza para o seu workspace's default Unity Catalog armazenamento. Essa sobreposição interfere na forma como o Unity Catalog utiliza o armazenamento default do workspace para processamento interno em determinados recursos e requer que você atualize sua configuração de localização externa.

Como o conflito acontece

Um conflito ocorre quando você cria um local externo com um caminho que se sobrepõe ao caminho de armazenamento default Unity Catalog do seu workspace. O armazenamento workspace default é especificado no momento da criação do workspace, quando você cria o objeto de configuração de armazenamento seguindo o guia de criação workspace. 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 default para processamento interno, e certas funcionalidades em Unity Catalog são bloqueadas. Isso também enfraquece a governança de dados, pois a localização externa expõe os dados internos da workspace dentro da localização. Como resultado, os caminhos de localização externos não devem se sobrepor aos caminhos de armazenamento workspace default Unity Catalog . A criação de um local externo em caminhos mais específicos em workspace default , como o localDBFS root, continua a ser permitida, porque o local DBFS root é um irmão do caminho de armazenamento interno workspace e não causa 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

Defina um local externo em um caminho amplo (como s3://<customer-bucket>/), mas acesse os dados em uma pasta irmã mais específica, como dados legados do Databricks Filesystem 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.