Especifique um local de armazenamento gerenciar em Unity Catalog

Um local de armazenamento gerenciar especifica um local no armazenamento de objetos cloud para armazenar dados de tabelas gerenciar e volumes gerenciar.

O senhor pode associar um local de armazenamento gerenciar a um metastore, catálogo ou esquema. Os locais de armazenamento gerenciar em níveis inferiores na hierarquia substituem os locais de armazenamento definidos em níveis superiores quando são criadas tabelas gerenciar ou volumes gerenciar.

Databricks recomenda que o senhor atribua armazenamento gerenciado no nível do catálogo para isolamento lógico dos dados, tendo como opções o nível do metastore e o nível do esquema.

Os novos espaços de trabalho habilitados para Unity Catalog são criados automaticamente sem um local de armazenamento gerenciado no nível do metastore. No entanto, o armazenamento em nível de metastore é necessário para algumas funcionalidades, como compartilhar o Notebook usando Delta Sharing ou usar locais de preparação pessoal como Databricks parceiros. Consulte Habilitação automática de Unity Catalog,governança de dados e blocos de construção de isolamento de dados, e Criar um metastore Unity Catalog .

O que é um local de armazenamento gerenciar?

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

  • As tabelas gerenciar e os volumes gerenciar armazenam arquivos de dados e metadados em locais de armazenamento gerenciar.

  • Os locais de armazenamento gerenciados não podem se sobrepor a tabelas externas ou volumes externos.

A tabela a seguir descreve como um local de armazenamento gerenciar é declarado e associado aos objetos Unity Catalog:

Objeto associado ao Unity Catalog

Como configurar

Relação com locais externos

Metastore

Configurado pelo administrador do account durante a criação do metastore.

Não é possível sobrepor um local externo.

Catálogo

Especificado durante a criação do catálogo usando a palavra-chave MANAGED LOCATION.

Deve estar contido em um local externo.

Esquema

Especificado durante a criação do esquema usando a palavra-chave MANAGED LOCATION.

Deve estar contido em um local externo.

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

  • Se o esquema que o contém tiver uma localização gerenciar, os dados serão armazenados na localização gerenciar do esquema.

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

  • Se nem o esquema de contenção nem o catálogo de contenção tiverem um local de gerenciar, os dados serão armazenados no local de gerenciar do metastore.

O Unity Catalog evita a sobreposição da governança de local. Consulte Como funcionam os caminhos para gerenciar dados em Unity Catalog?

gerenciar o local de armazenamento, a raiz de armazenamento e o local de armazenamento

Quando o senhor especifica um MANAGED LOCATION para um catálogo ou esquema, o local fornecido é rastreado como Storage Root (raiz de armazenamento ) no Unity Catalog. Para garantir que todas as entidades gerenciar tenham um local exclusivo, o site Unity Catalog adiciona subdiretórios com 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 do gerenciador é rastreado como o local de armazenamento em Unity Catalog.

O senhor pode especificar o mesmo local de armazenamento gerencial 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 gerenciar durante a criação do catálogo ou do esquema.

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

Definir um local de armazenamento gerenciar para um metastore

Para definir um local de armazenamento gerenciar para um metastore, consulte Adicionar armazenamento gerenciar a um metastore existente.

Definir um local de armazenamento gerenciar para um catálogo

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

CREATE CATALOG <catalog-name>
MANAGED LOCATION 's3://<external-location-bucket-path>/<directory>';

O senhor também pode usar o Catalog Explorer para definir o local de armazenamento gerenciar de um catálogo. Consulte Criar catálogos.

Definir um local de armazenamento gerenciar para um esquema

Defina um local de armazenamento gerenciar 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 's3://<external-location-bucket-path>/<directory>';

O senhor também pode usar o Catalog Explorer para definir o local de armazenamento gerenciar de um esquema. Consulte Criar esquemas.

Próximos passos

Unity Catalog usa os locais de armazenamento gerenciar automaticamente quando o senhor cria tabelas gerenciar e volumes gerenciar. Consulte Trabalhar com tabelas gerenciais e O que são volumes Unity Catalog?