Aller au contenu principal

Règles de chemin d'accès et accès dans les volumes Unity Catalog

Cette page explique les restrictions concernant les chevauchements de chemins dans Unity Catalog, détaille les modèles d'accès basés sur les chemins pour les fichiers de données dans les objets Unity Catalog et décrit comment Unity Catalog gère les chemins pour les tables et les volumes.

Restrictions de chevauchement de chemins dans Unity Catalog

Unity Catalog assure la gouvernance des données en empêchant le chevauchement des répertoires gérés de données. Unity Catalog applique les règles suivantes :

  • Les emplacements externes ne peuvent pas se chevaucher avec d'autres emplacements externes.
  • Les tables et les volumes stockent les fichiers de données dans des emplacements externes ou l'emplacement racine du metastore.
  • Les volumes ne peuvent pas se chevaucher d'autres volumes.
  • Les tables ne peuvent pas chevaucher d'autres tables.
  • Les tables et les volumes ne peuvent pas se chevaucher.
  • Les emplacements de stockage gérés ne peuvent pas se chevaucher. Voir Spécifier un emplacement de stockage géré dans Unity Catalog.
  • Les volumes externes ne peuvent pas chevaucher les emplacements de stockage gérés.
  • Les tables externes ne peuvent pas chevaucher les emplacements de stockage gérés.

Ces règles signifient que les restrictions suivantes existent dans Unity Catalog :

  • Vous ne pouvez pas définir un emplacement externe dans un autre emplacement externe.
  • Vous ne pouvez pas définir un volume au sein d'un autre volume.
  • Vous ne pouvez pas définir une table dans une autre table.
  • Vous ne pouvez pas définir une table sur des fichiers de données ou des répertoires au sein d'un volume.
  • Vous ne pouvez pas définir de volume sur un répertoire au sein d'une table.
remarque

Vous pouvez toujours utiliser l'accès basé sur le chemin pour écrire ou lire des fichiers de données à partir de volumes, y compris Delta Lake. Vous ne pouvez pas enregistrer ces fichiers de données en tant que tables dans le métastore Unity Catalog.

Chemins entièrement managés pour les tables et les volumes

Lorsque vous créez une table ou un volume géré, Unity Catalog crée un nouveau répertoire dans l'emplacement de stockage configuré par Unity Catalog et associé au schéma conteneur. Le nom de ce répertoire est généré aléatoirement pour éviter toute collision potentielle avec d’autres répertoires déjà présents. Ce comportement diffère de la manière dont Hive metastore crée les tables gérées.

L'accès basé sur le chemin d'accès aux tables gérées par Unity Catalog n'est pas pris en charge. Interagissez toujours avec les tables gérées par Unity Catalog en utilisant les noms de table et les volumes gérés par Unity Catalog en utilisant les chemins d'accès aux volumes.

Chemins d'emplacements externes pour les tables et les volumes

Lorsque vous créez une table ou un volume externe, vous spécifiez un chemin d’accès au sein d’un emplacement externe régi par Unity Catalog.

important

Pour éviter les conflits de chemin, Databricks recommande de créer des tables et des volumes externes dans des sous-répertoires plutôt qu'à la racine d'un emplacement externe.

Pour faciliter l’utilisation, interagissez avec les tables externes Unity Catalog en utilisant les noms de table, et les volumes externes en utilisant les chemins de volume. Les utilisateurs disposant de privilèges suffisants peuvent également accéder aux données directement en utilisant le chemin d’accès complet du stockage cloud.

L'accès aux données via les URIs cloud pour ces objets est entièrement régi par les privilèges Unity Catalog, qui remplacent tous les privilèges sur l'emplacement externe lui-même. Consultez les restrictions de chevauchement de chemin dans Unity Catalog et la référence des privilèges Unity Catalog.

Accéder aux données dans Unity Catalog

Les objets Unity Catalog donnent accès aux données par le biais d'identifiants d'objets, de chemins de volume ou d'URI cloud. Vous pouvez utiliser ces valeurs pour accéder aux données associées aux volumes et aux tables.

Les tables Unity Catalog sont accessibles à l'aide d'un identifiant à trois niveaux selon le modèle suivant :

<catalog_name>.<schema_name>.<table_name>

Chemins d'accès aux fichiers de volume dans Unity Catalog

Les volumes fournissent un chemin de fichier pour accéder aux fichiers de données avec le modèle suivant :

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

Les URI cloud exigent que les utilisateurs fournissent le Driver, l'identifiant du conteneur de stockage et le chemin complet vers les fichiers cibles, comme dans l'exemple suivant :

s3://<bucket_name>/<path>

Le tableau suivant présente les méthodes d'accès autorisées pour les objets Unity Catalog :

Objet

Identifiant d'objet

Chemin d'accès au fichier

URI de cloud

Emplacement externe

Non

Non

Oui

Table gérée

Oui

Non

Non

Table externe

Oui

Non

Oui

Volume géré

Non

Oui

Non

Volume externe

Non

Oui

Oui

Objet

Identifiant d'objet

Chemin d'accès au fichier

URI de cloud

Emplacement externe

Non

Non

Oui

Table gérée

Oui

Non

Non

Table externe

Oui

Non

Oui

Volume géré

Non

Oui

Non

Volume externe

Non

Oui

Oui

remarque

Les volumes Unity Catalog utilisent des identifiants d'objet à trois niveaux avec le modèle suivant pour les commandes de gestion (telles que CREATE VOLUME et DROP VOLUME) :

<catalog_name>.<schema_name>.<volume_name>

Pour travailler réellement avec des fichiers dans des volumes, vous devez utiliser l'accès par chemin d'accès.