Especifique um local de armazenamento de gerenciamento no Unity Catalog

Um local de armazenamento de gerenciamento especifica um local de armazenamento de objetos clouds para armazenar dados para gerenciar tabelas e gerenciar volumes.

Você pode associar um local de armazenamento de gerenciamento a um metastore, catálogo ou esquema. Gerenciar locais de armazenamento em níveis inferiores na hierarquia substitui locais de armazenamento definidos em níveis superiores quando gerenciar tabelas ou gerenciar volumes são criados.

O armazenamento gerenciar em nível de metastore é opcional, e os novos espaços de trabalho habilitados para Unity Catalog são criados automaticamente sem um local de armazenamento gerenciar em nível de metastore. 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. 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 gerenciado?

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

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

  • O gerenciamento de locais de armazenamento não pode se sobrepor a tabelas ou volumes externos.

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

Objeto associado Unity Catalog

Como definir

Relação com locais externos

metastore

Configurado pelo administrador 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 de gerenciamento que armazena dados e metadados para gerenciar tabelas e gerenciar volumes utiliza as seguintes regras:

  • Se o esquema que o contém tiver um local de gerenciamento, os dados serão armazenados no local de gerenciamento do esquema.

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

  • Se nem o esquema que o contém nem o catálogo que o contém tiverem um local de gerenciamento, os dados serão armazenados no local de gerenciamento do metastore.

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

gerenciar local de armazenamento, raiz de armazenamento e local de armazenamento

Quando você especifica um MANAGED LOCATION para um catálogo ou esquema, o local fornecido é rastreado como raiz de armazenamento no Unity Catalog. Para garantir que todas as entidades de gerenciamento tenham um local exclusivo, o 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 de gerenciamento é rastreado como o Local de Armazenamento no Catálogo do Unity.

Você pode especificar o mesmo local de armazenamento de gerenciamento 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 o gerenciamento de locais de armazenamento durante a criação de catálogo ou esquema.

account os administradores 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 de gerenciamento para um catálogo

Defina um local de armazenamento de gerenciamento 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 'gcs://<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 de gerenciamento para um esquema

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

CREATE CATALOG <catalog>.<schema-name>
MANAGED LOCATION 'gcs://<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

Os locais de armazenamento gerenciar são usados para criar tabelas gerenciar e volumes gerenciar. Consulte Trabalhar com tabelas gerenciais e O que são volumes Unity Catalog?