Compartilhar via


Especificar um local de armazenamento gerenciado no Catálogo do Unity

Um local de armazenamento gerenciado especifica um local no armazenamento de objetos de nuvem para armazenar dados para tabelas gerenciadas e volumes gerenciados.

Você pode associar um local de armazenamento gerenciado a um metastore, catálogo ou esquema. Locais de armazenamento gerenciado em níveis inferiores na hierarquia substituem locais de armazenamento definidos em níveis mais altos quando tabelas gerenciadas ou volumes gerenciados são criados.

O Databricks recomenda que você atribua armazenamento gerenciado no nível do catálogo para isolamento de dados lógicos, com o nível do metastore e o nível do esquema como opções.

Novos workspaces habilitados para o Catálogo do Unity são criados automaticamente sem um local de armazenamento gerenciado no nível do metastore. Para decidir se você precisa de armazenamento no nível do metastore, consulte Habilitação automática do Catálogo do Unity, hierarquia de local de armazenamento gerenciado e Adicionar armazenamento gerenciado a um metastore existente.

O que é um local de armazenamento gerenciado?

Os locais de armazenamento gerenciado têm as seguintes propriedades:

  • Tabelas gerenciadas e volumes gerenciados armazenam dados e arquivos de metadados em locais de armazenamento gerenciado.
  • Os locais de armazenamento gerenciado não podem se sobrepor a tabelas externas ou volumes externos.

A tabela a seguir descreve como um local de armazenamento gerenciado é declarado e associado a objetos do Catálogo do Unity:

Objeto Catálogo do Unity associado Como definir Relação com locais externos
Metastore Configurado pelo administrador da conta durante a criação do metastore. Não é possível sobrepor um local externo.
Catálogo padrão Especificado durante a criação do catálogo usando MANAGED LOCATION palavra-chave. Deve estar contido em um local externo.
Catálogo externo Especificado após a criação do catálogo usando o Gerenciador de Catálogos. Deve estar contido em um local externo.
Esquema Especificado durante a criação do esquema usando MANAGED LOCATION palavra-chave. Deve estar contido em um local externo.

Observação

Quando o Catálogo do Unity é habilitado automaticamente para um workspace, o Azure Databricks cria um catálogo de workspaces com um local de armazenamento gerenciado. Todos os usuários do workspace podem criar tabelas e volumes gerenciados no esquema default do catálogo do workspace. Para obter mais informações sobre catálogos de workspace, consulte Habilitação automática do Catálogo do Unity.

O local de armazenamento gerenciado que armazena dados e metadados para tabelas gerenciadas e volumes gerenciados usa as seguintes regras:

  • Se o esquema que contém tiver um local gerenciado, os dados serão armazenados no local gerenciado pelo esquema.
  • Se o esquema que contém não tiver um local gerenciado, mas o catálogo tiver um local gerenciado, os dados serão armazenados no local gerenciado do catálogo.
  • Se o esquema que contém nem o catálogo que contém tiver um local gerenciado, os dados serão armazenados no local gerenciado do metastore.

O Catálogo do Unity impede a sobreposição da governança de localização. Consulte as regras de caminho e o acesso em volumes do Catálogo do Unity.

Local de armazenamento gerenciado, raiz de armazenamento e local de armazenamento

Quando você especifica um MANAGED LOCATION para um catálogo ou esquema, o local fornecido é rastreado como a Raiz de armazenamento no Catálogo do Unity. Para garantir que todas as entidades gerenciadas tenham um local exclusivo, o Catálogo do Unity adiciona subdiretórios hash ao local especificado, usando o seguinte formato:

Objeto Caminho
Esquema <storage-root>/__unitystorage/schemas/00000000-0000-0000-0000-000000000000
Catálogo <storage-root>/__unitystorage/catalogs/00000000-0000-0000-0000-000000000000

O caminho totalmente qualificado para o local de armazenamento gerenciado é rastreado como o Local de armazenamento no Catálogo do Unity.

Você pode especificar o mesmo local de armazenamento gerenciado para vários esquemas e catálogos.

Privilégios necessários

Os usuários que têm o privilégio CREATE MANAGED STORAGE em um local externo podem configurar locais de armazenamento gerenciado durante a criação de catálogo ou esquema.

Os administradores de conta podem adicionar um local de armazenamento gerenciado opcional no nível do metastore.

Usuários com privilégios MANAGE e USE CATALOG proprietários de catálogo podem adicionar um local de armazenamento gerenciado a um catálogo estrangeiro.

Definir um local de armazenamento gerenciado para um metastore

Para definir um local de armazenamento gerenciado para um metastore, veja Adicionar armazenamento gerenciado a um metastore existente.

Definir um local de armazenamento gerenciado para um catálogo padrão

Defina um local de armazenamento gerenciado para um catálogo padrão usando a MANAGED LOCATION palavra-chave durante a criação do catálogo, como no exemplo a seguir:

CREATE CATALOG <catalog-name>
MANAGED LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';

Você também pode usar o Catalog Explorer para configurar o local de armazenamento gerenciado para um catálogo. Consulte Criar catálogos.

Definir um local de armazenamento gerenciado para um catálogo estrangeiro

Você pode definir um local de armazenamento gerenciado para um catálogo estrangeiro usando o Catalog Explorer.

  1. Faça login em um workspace vinculado ao metastore.
  2. Clique no ícone Dados.Catálogo.
  3. No painel Catálogo , localize o catálogo e clique em seu nome.
  4. No local de armazenamento, clique em Adicionar local de armazenamento.
  5. Em Selecionar local externo, selecione um local externo ou crie um novo e especifique o caminho.
  6. Clique em Salvar.

Definir um local de armazenamento gerenciado para um esquema

Defina um local de armazenamento gerenciado para um esquema usando a palavra-chave MANAGED LOCATION durante a criação do esquema, como no exemplo a seguir:

CREATE SCHEMA <catalog>.<schema-name>
MANAGED LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';

Também é possível usar o Catalog Explorer para configurar o local de armazenamento gerenciado para um esquema. Consulte Criar esquemas.

Próximas etapas

O Catálogo do Unity usa locais de armazenamento gerenciados automaticamente quando você cria tabelas gerenciadas e volumes gerenciados. Consulte tabelas gerenciadas do Unity Catalog no Azure Databricks para Delta Lake e Apache Iceberg e O que são volumes do Unity Catalog?.