Pular para o conteúdo principal

Regras de caminho e acesso em volumes do Unity Catalog

Esta página explica as restrições de sobreposição de caminhos em Unity Catalog, detalha os padrões de acesso baseados em caminhos para arquivos de dados em objetos Unity Catalog e descreve como Unity Catalog gerencia caminhos para tabelas e volumes.

Restrições de sobreposição de caminho no Unity Catalog

O Unity Catalog reforça a governança de dados impedindo que os diretórios gerenciados de dados se sobreponham. O Unity Catalog impõe as seguintes regras:

  • Localizações externas não podem se sobrepor a outras localizações externas.
  • Tabelas e volumes armazenam arquivos de dados em locais externos ou no local raiz do metastore.
  • Os volumes não podem se sobrepor a outros volumes.
  • As tabelas não podem se sobrepor a outras tabelas.
  • Tabelas e volumes não podem se sobrepor.
  • Os locais de armazenamento gerenciados não podem se sobrepor uns aos outros. Consulte Especificar um local de armazenamento gerenciar em Unity Catalog.
  • Os volumes externos não podem se sobrepor aos locais de armazenamento gerenciar.
  • As tabelas externas não podem se sobrepor aos locais de armazenamento gerenciar.

Essas regras significam que existem as seguintes restrições no Unity Catalog:

  • Você não pode definir um local externo dentro de outro local externo.
  • Você não pode definir um volume dentro de outro volume.
  • Você não pode definir uma tabela dentro de outra tabela.
  • Você não pode definir uma tabela em nenhum arquivo de dados ou diretório dentro de um volume.
  • Você não pode definir um volume em um diretório dentro de uma tabela.
nota

O senhor sempre pode usar o acesso baseado em caminho para gravar ou ler arquivos de dados de volumes, incluindo o Delta Lake. O senhor não pode registrar esses arquivos de dados como tabelas no metastore Unity Catalog.

caminhos totalmente gerenciados para tabelas e volumes

Quando o senhor cria uma tabela gerenciar ou um volume gerenciar, o site Unity Catalog cria um novo diretório no local de armazenamento configurado em Unity Catalogassociado ao esquema que o contém. O nome desse diretório é gerado aleatoriamente para evitar qualquer possível colisão com outros diretórios já presentes.

Esse comportamento difere da forma como o site Hive metastore cria tabelas gerenciais. Databricks recomenda sempre interagir com Unity Catalog gerenciar tabelas usando nomes de tabela e Unity Catalog gerenciar volumes usando caminhos de volume.

Caminhos de localização externos para tabelas e volumes

Ao criar uma tabela ou volume externo, o senhor especifica um caminho em um local externo controlado pelo Unity Catalog.

important

Para evitar conflitos de caminho, a Databricks recomenda a criação de tabelas e volumes externos em subdiretórios em vez de na raiz de um local externo.

Para facilitar o uso, interaja com as tabelas externas do Unity Catalog usando nomes de tabela e volumes externos usando caminhos de volume. Os usuários com privilégios suficientes também podem acessar os dados diretamente usando o caminho completo de armazenamento do cloud.

O acesso aos dados por meio de cloud URIs para esses objetos é totalmente regido pelos privilégios de Unity Catalog, que se sobrepõem a quaisquer privilégios no próprio local externo. Consulte Restrições de sobreposição de caminho no Unity Catalog e Privilégios e objetos protegíveis do Unity Catalog.

Acessar dados no Unity Catalog

Os objetos do Unity Catalog fornecem acesso aos dados por meio de identificadores de objeto, caminhos de volume ou URIs de nuvem. Você pode usar esses valores para acessar dados associados a volumes e tabelas.

As tabelas do Unity Catalog são acessadas usando um identificador de três camadas com o seguinte padrão:

<catalog_name>.<schema_name>.<table_name>

Caminhos de arquivos de volume no Unity Catalog

Os volumes fornecem um caminho de arquivo para acessar arquivos de dados com o seguinte padrão:

/Volumes/<catalog_name>/<schema_name>/<volume_name>/<path_to_file>

Os URIs do Cloud exigem que os usuários forneçam o driver, o identificador do contêiner de armazenamento e o caminho completo para os arquivos de destino, como no exemplo a seguir:

gs://<bucket_name>/<path>

A tabela a seguir mostra os métodos de acesso permitidos para os objetos do Unity Catalog:

Objeto

Identificador de objeto

Caminho do arquivo

URI da nuvem

Localização externa

Não

Não

Sim

gerenciar mesa

Sim

Não

Não

Mesa externa

Sim

Não

Sim

Volume gerenciado

Não

Sim

Não

Volume externo

Não

Sim

Sim

nota

Unity Catalog Os volumes usam identificadores de objeto de três camadas com o seguinte padrão para o comando de gerenciamento (como CREATE VOLUME e DROP VOLUME):

<catalog_name>.<schema_name>.<volume_name>

Para realmente trabalhar com arquivos em volumes, você deve usar o acesso baseado em caminho.