Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Un emplacement de stockage managé spécifie un emplacement dans le stockage d’objets cloud permettant de stocker des données pour les tables et volumes managés.
Vous pouvez associer un emplacement de stockage managé à un metastore, un catalogue ou un schéma. Les emplacements de stockage managés à des niveaux inférieurs dans la hiérarchie remplacent les emplacements de stockage définis à des niveaux supérieurs lorsque des tables managées ou des volumes managés sont créés.
Databricks vous recommande d’affecter un stockage managé au niveau du catalogue pour l’isolation des données logiques, avec des options au niveau du metastore et du schéma.
Les espaces de travail activés pour le Unity Catalog sont automatiquement créés sans emplacement de stockage managé au niveau du metastore. Pour déterminer si vous avez besoin d’un stockage au niveau du metastore, consultez Activation automatique du catalogue Unity, hiérarchie d’emplacement de stockage managé et Ajouter un stockage managé à un metastore existant.
En quoi consiste un emplacement de stockage managé ?
Les emplacements de stockage managés ont les propriétés suivantes :
- Les tables et volumes managés stockent les fichiers de données et de métadonnées aux emplacements de stockage managés.
- Les emplacements de stockage managés ne peuvent pas chevaucher des tables ou volumes externes.
Le tableau suivant décrit comment un emplacement de stockage managé est déclaré et associé à des objets Unity Catalog :
| Objet Unity Catalog associé | Définition | Relation avec les emplacements externes |
|---|---|---|
| Metastore | Configurée par l’administrateur de compte lors de la création du metastore. | Ne peut pas chevaucher un emplacement externe. |
| Catalogue standard | Spécifié lors de la création du catalogue à l’aide du mot clé MANAGED LOCATION. |
Doit être contenu dans un emplacement externe. |
| Catalogue étranger | Spécifié après la création du catalogue à l’aide de l’Explorateur de catalogues. | Doit être contenu dans un emplacement externe. |
| Schéma | Spécifié lors de la création du schéma à l’aide du mot clé MANAGED LOCATION. |
Doit être contenu dans un emplacement externe. |
Note
Lorsque Unity Catalog est automatiquement activé pour un espace de travail, Azure Databricks crée un catalogue d’espaces de travail avec un emplacement de stockage managé. Tous les utilisateurs de l’espace de travail peuvent créer des tables et des volumes managés dans le default schéma du catalogue d’espaces de travail. Pour plus d’informations sur les catalogues d’espaces de travail, consultez Activation automatique du catalogue Unity.
L’emplacement de stockage managé stockant les données et les métadonnées des tables et volumes managés utilise les règles suivantes :
- Si le schéma contenant a un emplacement managé, les données sont stockées à l’emplacement managé du schéma.
- Si le schéma conteneur n’a pas d’emplacement managé, mais que le catalogue a un emplacement managé, les données sont stockées à l’emplacement managé du catalogue.
- Si ni le schéma conteneur ni le catalogue conteneur n’ont d’emplacement managé, les données sont stockées à l’emplacement managé du metastore.
Unity Catalog empêche le chevauchement de la gouvernance des emplacements. Consultez les règles de chemin d’accès et l’accès dans les volumes catalogue Unity.
Emplacement de stockage managé, racine de stockage et emplacement de stockage
Lorsque vous spécifiez un MANAGED LOCATION pour un catalogue ou un schéma, l’emplacement fourni est suivi comme Racine de stockage dans Unity Catalog. Pour s’assurer que toutes les entités managées ont un emplacement unique, Unity Catalog ajoute des sous-répertoires hachés à l’emplacement spécifié, à l’aide du format suivant :
| Objet | Chemin d’accès |
|---|---|
| Schéma | <storage-root>/__unitystorage/schemas/00000000-0000-0000-0000-000000000000 |
| Catalogue | <storage-root>/__unitystorage/catalogs/00000000-0000-0000-0000-000000000000 |
Le chemin d’accès complet de l’emplacement de stockage managé est suivi comme Emplacement de stockage dans Unity Catalog.
Vous pouvez spécifier le même emplacement de stockage managé pour plusieurs schémas et catalogues.
Privilèges requis
Les utilisateurs disposant du privilège CREATE MANAGED STORAGE sur un emplacement externe peuvent configurer des emplacements de stockage managés lors de la création du catalogue ou du schéma.
Les administrateurs de compte peuvent ajouter un emplacement de stockage managé facultatif au niveau du metastore.
Les utilisateurs disposant des privilèges MANAGE et USE CATALOG, ainsi que les propriétaires de catalogue, peuvent ajouter un emplacement de stockage géré à un catalogue étranger.
Définir un emplacement de stockage managé pour un metastore
Pour définir un emplacement de stockage managé pour un metastore, consultez Ajouter un stockage managé à un metastore existant.
Définir un emplacement de stockage managé pour un catalogue standard
Définissez un emplacement de stockage managé pour un catalogue standard à l’aide du mot clé lors de la MANAGED LOCATION création du catalogue, comme dans l’exemple suivant :
CREATE CATALOG <catalog-name>
MANAGED LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';
Vous pouvez également définir l’emplacement de stockage managé d’un catalogue à l’aide de Catalog Explorer. Consultez Créer des catalogues.
Définir un emplacement de stockage managé pour un catalogue étranger
Vous pouvez définir un emplacement de stockage managé pour un catalogue étranger à l’aide de l’Explorateur de catalogues.
- Connectez-vous à un espace de travail lié au metastore.
- Cliquez sur
Catalogue.
- Dans le volet Catalogue, recherchez le catalogue et cliquez sur son nom.
- Sous Emplacement de stockage, cliquez sur Ajouter un emplacement de stockage.
- Dans Sélectionner un emplacement externe, sélectionnez un emplacement externe ou créez-en un, puis spécifiez le chemin d’accès.
- Cliquez sur Enregistrer.
Définir un emplacement de stockage managé pour un schéma
Définissez un emplacement de stockage managé pour un schéma à l’aide du mot clé MANAGED LOCATION lors de la création du schéma, comme dans l’exemple suivant :
CREATE SCHEMA <catalog>.<schema-name>
MANAGED LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';
Vous pouvez également définir l’emplacement de stockage managé d’un schéma à l’aide de Catalog Explorer. Consultez Créer des schémas.
Étapes suivantes
Unity Catalog utilise automatiquement des emplacements de stockage managés lorsque vous créez des tables et volumes managés. Consultez les tables managées du Catalogue Unity dans Azure Databricks pour Delta Lake et Apache Iceberg et les volumes du Catalogue Unity.