Se connecter à un emplacement externe racine DBFS (hérité)
Cette page décrit comment se connecter à un emplacement de stockage externe de la racine Databricks File System (DBFS). Après vous être connecté, vous pouvez gérer l'accès aux objets dans le stockage racine DBFS à l'aide de Unity Catalog.
Bien que Databricks déconseille de stocker des données dans le stockage racine DBFS, votre Workspace pourrait le faire en raison de pratiques héritées. Par exemple, votre Hive metastore Databricks hérité local au Workspace pourrait avoir stocké des données dans la racine DBFS. Suivez ce guide pour vous connecter à la racine DBFS en créant d'abord un objet d'informations d'identification de stockage qui permet d'accéder à la racine DBFS, puis un objet d'emplacement externe qui définit le chemin d'accès à la racine DBFS. Ces objets vous permettent de vous connecter à votre Hive metastore hérité afin que votre équipe puisse travailler avec vos tables de Hive metastore à l'aide de Unity Catalog. Voir Fédération Hive metastore : activer Unity Catalog pour régir les tables enregistrées dans un Hive metastore et Activer la fédération Hive metastore pour un Hive metastore de Workspace hérité.
Avant de commencer
Pour créer un emplacement externe pour la racine DBFS, vous devez avoir accès à un identifiant de stockage Unity Catalog qui accorde l'accès au compartiment S3 qui contient la racine DBFS. Si ce n'est pas le cas, vous pouvez fournir l'ARN d'un rôle IAM qui octroie l'accès à ce compartiment lors de la création de l'emplacement externe. Ce processus est décrit dans les instructions suivantes. Pour des informations sur la création d'un rôle IAM qui octroie l'accès à un emplacement de stockage cloud depuis Databricks, consultez Étape 1 : Créer un rôle IAM.
Le compartiment S3 qui contient la racine DBFS doit avoir sa propriété d'objet définie sur Bucket Owner Enforced . Si la propriété de l'objet est définie sur Object Writer , l'identifiant de stockage Unity Catalog ne peut pas lire les données dans le compartiment S3.
Si vous utilisez des clés gérées par le client pour chiffrer le compartiment S3 qui contient la racine DBFS, vous pouvez utiliser la même clé pour activer le chiffrement pour le nouvel emplacement externe. Voir les instructions ci-dessous et Configurer le chiffrement pour S3 avec KMS.
Autorisations requises :
- Vous devez disposer des privilèges
CREATE STORAGE CREDENTIALetCREATE EXTERNAL LOCATIONsur le métastore. Les administrateurs du metastore disposent de ces privilèges par default.
Si des informations d'identification de stockage pour l'emplacement de stockage de la racine DBFS existent déjà, l'utilisateur qui crée l'emplacement externe n'a pas besoin de CREATE STORAGE CREDENTIAL, mais a besoin de CREATE EXTERNAL LOCATION sur les informations d'identification de stockage et le métastore.
-
Vous devez être administrateur du Workspace pour que le système crée l'identifiant de stockage pour vous lors de la création de l'emplacement externe.
Vous n'avez pas besoin d'être administrateur du Workspace si un identifiant de stockage qui donne accès à l'emplacement de stockage racine DBFS existe déjà et que vous avez
CREATE EXTERNAL LOCATIONsur l'identifiant de stockage et sur le metastore.
Créez l'emplacement externe
Vous pouvez utiliser Catalog Explorer pour créer un emplacement externe pour la racine DBFS.
-
Dans la barre latérale, cliquez sur
Catalogue .
-
Cliquez sur Connecter > Emplacements externes .
-
Cliquez sur Créer un emplacement externe .
-
Cliquez sur Manuel , puis sur Suivant .
Vous ne pouvez pas utiliser l’option Quickstart AWS pour créer un emplacement externe pour la racine DBFS.
-
Saisissez un **nom d'emplacement externe**.
-
Pour Type de stockage , sélectionnez Racine DBFS .
Les champs URL et de sous-chemin sont renseignés avec le chemin du stockage cloud vers la racine DBFS.
Lorsque vous créez un emplacement externe pour la racine DBFS, vous devez utiliser le sous-chemin vers l'emplacement racine DBFS, et non le chemin vers le bucket entier. L'URL et le sous-chemin sont pré-remplis avec user/hive/warehouse, qui est l'emplacement de stockage default pour les tables du Hive metastore. Si vous souhaitez un contrôle d'accès plus granulaire aux données de la racine DBFS, vous pouvez créer des emplacements externes distincts pour les sous-chemins au sein de la racine DBFS.
-
Sélectionnez un identifiant de stockage qui donne accès à l'emplacement de stockage cloud racine DBFS ou, si aucun n'a été défini, cliquez sur + Créer un nouvel identifiant de stockage .
Pour créer l'informations d'identification de stockage, saisissez l'ARN d'un rôle IAM qui octroie l'accès au préfixe racine DBFS au niveau du Workspace sur le compartiment S3. Pour des informations sur la création d'un rôle IAM qui accorde l'accès à un emplacement de stockage cloud depuis Databricks, consultez Étape 1 : Créer un rôle IAM.
Si vous avez déjà un profil d'instance qui couvre l'emplacement du bucket S3 racine DBFS, vous pouvez cliquer sur Copier le profil d'instance pour copier l'ARN du rôle IAM pour ce profil d'instance. Le rôle IAM du profil d'instance doit avoir une relation d'approbation inter-comptes qui permet à Databricks d'endosser le rôle afin d'accéder au compartiment pour le compte des utilisateurs Databricks. Pour plus d'informations sur la politique de rôle IAM et les exigences de relation de confiance, voir Étape 1 : Créer un rôle IAM.
La politique de rôle AWS IAM doit restreindre l'accès spécifiquement au sous-chemin racine DBFS (par exemple, s3://<bucket>/<shard-name>/<workspace-id>/). Si vous ne restreignez pas l'accès à l'emplacement racine DBFS à l'aide du sous-chemin, vous exposez l'emplacement de stockage interne du Workspace et pourriez compromettre les contrôles d'accès au niveau du Workspace ou éventuellement les données d'un autre Workspace si le compartiment est partagé.
-
Ajouter un commentaire (facultatif).
-
(Facultatif) Cliquez sur Options avancées et activez le mode Fallback .
Le mode Fallback est destiné aux scénarios de migration de charges de travail héritées. Consultez Activer le mode fallback sur les emplacements externes.
-
(Facultatif) Si le compartiment S3 nécessite un chiffrement SSE, vous pouvez configurer un algorithme de chiffrement pour permettre aux tables externes et aux volumes dans Unity Catalog d'accéder aux données de votre compartiment S3.
Si votre compartiment de stockage Workspace, qui inclut la racine DBFS, est chiffré à l'aide d'une configuration de clés de chiffrement Databricks, vous pouvez utiliser la même clé pour activer le chiffrement pour le nouvel emplacement externe. Pour les instructions, voir Configurer un algorithme de chiffrement sur un emplacement externe (AWS S3 uniquement).
-
Cliquez sur Créer .
-
Allez dans l'onglet **tab** pour accorder l'autorisation d'utiliser l'emplacement externe.
- Cliquez sur Accorder .
- Sélectionnez les utilisateurs, les groupes ou les Service Principal dans le champ Principals , et sélectionnez le privilège que vous souhaitez accorder.
- Cliquez sur Accorder .
-
(Facultatif) Définissez les Workspaces pouvant accéder à cet emplacement externe.
Par default, les utilisateurs de tout Workspace qui utilise ce métastore Unity Catalog peuvent se voir accorder l'accès aux données à cet emplacement. Vous pouvez limiter cet accès à des Workspaces spécifiques. Databricks recommande de limiter l'accès au Workspace dans lequel se trouve la racine DBFS.
Consultez Lier un emplacement externe à un ou plusieurs workspaces.