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.

Quando um administrador do account cria um metastore, ele pode associar um local de armazenamento em um bucket do AWS S3 ou do Cloudflare R2 em seu provedor de nuvens account para usar como local de armazenamento gerenciar. Os locais de armazenamento gerenciáveis nos níveis de catálogo e esquema são opcionais, mas a Databricks recomenda atribuir locais de armazenamento gerenciáveis no nível do catálogo para isolamento lógico dos dados. Consulte os blocos de construção de governança de dados e isolamento de dados.

Importante

Se o seu workspace foi ativado automaticamente para Unity Catalog , o metastore Unity Catalog foi criado sem um local de armazenamento de gerenciamento no nível do metastore. Você deve atribuir um local de armazenamento de gerenciamento no nível do catálogo ou do esquema. Consulte Ativação automática do Unity Catalog e Blocos de construção de governança de dados e isolamento de dados.

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.

O gerenciamento de locais de armazenamento definidos no nível do metastore deve ser configurado pelos administradores account durante a criação do metastore.

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 's3://<external-location-bucket-path>/<directory>';

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 SCHEMA <catalog>.<schema-name>
MANAGED LOCATION 's3://<external-location-bucket-path>/<directory>';

Próximos passos

Os locais de gerenciamento de armazenamento são usados para criar tabelas de gerenciamento e gerenciar volumes. Consulte Criar tabelas no Unity Catalog e Criar e trabalhar com volumes.