Le catalogue d'environnements d'exécution Lakehouse vous permet de créer des points de terminaison de catalogue dans un Lakehouse sans frontières.
Un point de terminaison de catalogue pointe vers un bucket Cloud Storage sous-jacent et fournit une couche de métadonnées qui permet aux moteurs de requête et aux charges de travail Open Source d'interagir directement avec vos tables. Lorsque vous créez un point de terminaison de catalogue, vous pouvez choisir entre les identifiants de l'utilisateur final et le mode de distribution d'identifiants pour la délégation d'accès au stockage.
Avant de commencer
- Consultez À propos du catalogue d'environnements d'exécution Lakehouse pour comprendre le fonctionnement du catalogue d'environnements d'exécution Lakehouse et les limites du service.
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the serviceusage.services.enable permission. If you
created the project, then you likely already have this permission through the
Owner role (roles/owner). Otherwise, you can get this permission through the
Service Usage Admin role (roles/serviceusage.serviceUsageAdmin).
Learn how to grant roles.
Rôles requis
Pour obtenir les autorisations nécessaires pour créer un catalogue et enregistrer des tables, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Créez un catalogue :
- Administrateur BigLake (
roles/biglake.admin) sur votre projet - Administrateur de l'espace de stockage (
roles/storage.admin) sur votre projet
- Administrateur BigLake (
-
Créer (enregistrer) des tables : Administrateur BigLake (
roles/biglake.admin) sur votre projet. L'enregistrement de tables nécessite l'autorisation d'enregistrement de table spécifique (biglake.tables.register), qui est incluse dans le rôle d'administrateur BigLake. -
Utilisez le compte de service de catalogue provisionné automatiquement en mode de distribution des identifiants : Utilisateur d'objets Storage (
roles/storage.objectUser) sur les buckets Cloud Storage cibles. Après avoir créé le catalogue, attribuez explicitement le rôle Utilisateur d'objets Storage (roles/storage.objectUser) sur vos buckets de stockage au compte de service provisionné automatiquement.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer un catalogue
Suivez ces étapes pour créer un catalogue en fonction du mode d'identification et du type de bucket de votre choix. Pour en savoir plus sur les différents types de catalogues, consultez À propos du point de terminaison du catalogue REST Apache Iceberg.
Console
Créer un catalogue à plusieurs buckets (recommandé)
Cette configuration permet à votre catalogue d'associer plusieurs buckets et de nommer votre catalogue indépendamment de tout nom de bucket.
Ouvrez la page Lakehouse dans la console Google Cloud .
Cliquez sur Créer un catalogue, puis sélectionnez Catalogue d'environnements d'exécution Lakehouse.
Pour Type de catalogue, sélectionnez Catalogue REST Iceberg.
Pour Options de bucket de catalogue Lakehouse, sélectionnez Catalogue de plusieurs buckets.
Dans le champ Chemin d'accès Cloud Storage du catalogue par défaut, saisissez ou recherchez le chemin d'accès Cloud Storage à utiliser avec votre catalogue.
Dans le champ ID du catalogue, saisissez un nom personnalisé pour votre catalogue.
Dans le champ Emplacement principal, sélectionnez un emplacement. L'emplacement doit se trouver à proximité des régions du bucket principal.
Cliquez sur Continuer.
À l'étape Chemins d'accès aux données, si vous souhaitez ajouter d'autres chemins d'accès Cloud Storage, cliquez sur Ajouter un chemin d'accès, puis saisissez ou recherchez un chemin d'accès.
Cliquez sur Continuer.
Pour Méthode d'authentification, sélectionnez Identifiants de l'utilisateur final ou Mode de distribution d'identifiants.
Cliquez sur Créer.
Votre catalogue est créé et la page Détails du catalogue s'ouvre.
Si vous avez sélectionné Mode de distribution d'identifiants, procédez comme suit :
- Sous Méthode d'authentification, cliquez sur Définir les autorisations de bucket (ou Définir les autorisations pour les buckets si votre catalogue utilise plusieurs buckets).
- Dans la boîte de dialogue, cliquez sur Confirmer.
Créer un catalogue à bucket unique
- Sur la page Lakehouse, cliquez sur Créer un catalogue, puis sélectionnez Catalogue d'exécution Lakehouse.
- Pour Type de catalogue, sélectionnez Catalogue REST Iceberg ou Hive Metastore.
- Si vous avez sélectionné Catalogue REST Iceberg, pour Options de bucket du catalogue Lakehouse, sélectionnez Catalogue à bucket unique.
- Pour Bucket Cloud Storage du catalogue par défaut (ou Chemin d'accès Cloud Storage du catalogue par défaut pour un point de terminaison de catalogue Apache Hive), saisissez ou recherchez le bucket Cloud Storage à utiliser avec votre catalogue. Pour un catalogue à bucket unique, vous ne pouvez avoir qu'un seul catalogue par bucket, et le nom du catalogue correspond au nom du bucket.
- Cliquez sur Continuer.
- Pour Méthode d'authentification, sélectionnez Identifiants de l'utilisateur final ou Mode de distribution d'identifiants.
- Cliquez sur Créer.
- Si vous avez sélectionné Mode de distribution d'identifiants, procédez comme suit :
- Sous Méthode d'authentification, cliquez sur Définir les autorisations du bucket.
- Dans la boîte de dialogue, cliquez sur Confirmer.
gcloud
Créer un catalogue à plusieurs buckets (recommandé)
Cette configuration permet à votre catalogue d'associer plusieurs buckets et de nommer votre catalogue indépendamment de tout nom de bucket.
Pour créer un catalogue à plusieurs buckets (recommandé), exécutez la commande gcloud biglake iceberg catalogs create :
gcloud biglake iceberg catalogs create \ CATALOG_NAME \ --project PROJECT_ID \ --catalog-type biglake \ --default-location DEFAULT_LOCATION \ --credential-mode CREDENTIAL_MODE \ [--restricted-locations RESTRICTED_LOCATIONS] \ [--primary-location LOCATION]
Remplacez les éléments suivants :
CATALOG_NAME: nom de votre catalogue. Pour les catalogues à plusieurs buckets (recommandé), il s'agit du nom de votre catalogue personnalisé.PROJECT_ID: ID de votre projet Google Cloud.DEFAULT_LOCATION: emplacement de stockage par défaut du catalogue. Vous pouvez spécifier un bucket (gs://my-bucket) ou un sous-chemin (gs://my-bucket/path). Tous les espaces de noms et toutes les tables du catalogue doivent se trouver sous le chemin spécifié. Par exemple, si vous spécifiezgs://my-bucket/path, vous ne pouvez pas créer d'espaces de noms ni de tables sousgs://my-bucket/another/path.CREDENTIAL_MODE: méthode d'authentification. Utilisezend-userpour les identifiants de l'utilisateur final ouvended-credentialspour le mode de distribution d'identifiants. Si vous spécifiezend-user, le catalogue d'environnements d'exécution Lakehouse ne gère pas automatiquement les tables du catalogue. Vous ne pouvez pas activer les tâches de gestion des tables telles que le compactage et l'expiration des instantanés.RESTRICTED_LOCATIONS(facultatif) : liste d'emplacements de stockage autorisés supplémentaires, séparés par une virgule, au formatgs://my-bucket-1/...,gs://my-bucket-2/.... Si vous spécifiez un chemin d'accès (tel quegs://my-bucket/path), tous les espaces de noms ou tables de ce bucket doivent se trouver sous ce chemin d'accès. Tous les emplacements Cloud Storage configurés dans l'emplacement par défaut et les emplacements restreints doivent se trouver dans le même groupe de régions géographiques ou la même juridiction (par exemple, les États-Unis, l'Europe, le Canada ou l'Asie). Par exemple, vous ne pouvez pas combiner un bucket situé aux États-Unis avec un bucket situé en Europe. Pour obtenir la liste des emplacements compatibles, consultez Emplacements Lakehouse.Avertissement : Évitez de configurer des chemins d'accès qui se chevauchent avec d'autres catalogues pour empêcher l'exposition non autorisée des identifiants. Pour en savoir plus, consultez Stockage dans plusieurs buckets.
LOCATION(facultatif) : région principale du catalogue pour assurer l'interopérabilité avec BigQuery. Pour les buckets Cloud Storage de la région US (par exemple,USouus-central1) ou de la région EU (par exemple,EUoueurope-west4), spécifiez respectivementUSouEUpour vous assurer que le catalogue est accessible et disponible pour les requêtes provenant des emplacements multirégionaux BigQuery correspondants. Pour en savoir plus, consultez Régions des buckets et des catalogues.
Créer un catalogue à bucket unique
Pour créer un catalogue à bucket unique, exécutez la commande suivante :
gcloud biglake iceberg catalogs create \ CATALOG_NAME \ --project PROJECT_ID \ --catalog-type gcs-bucket \ --credential-mode CREDENTIAL_MODE
Remplacez les éléments suivants :
CATALOG_NAME: nom de votre catalogue. Pour les catalogues à bucket unique, cela correspond à l'ID de bucket Cloud Storage utilisé avec le catalogue.PROJECT_ID: ID de votre projet Google Cloud.CREDENTIAL_MODE: méthode d'authentification. Utilisezend-userpour les identifiants de l'utilisateur final ouvended-credentialspour le mode de distribution d'identifiants.
REST
Créer un point de terminaison de catalogue REST Apache Iceberg
Pour créer un point de terminaison de gestion de catalogue à l'aide de l'API REST, envoyez une requête POST au point de terminaison CreateIcebergCatalog :
POST /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs?iceberg-catalog-id=CATALOG_ID
Le corps de la requête doit contenir une charge utile JSON IcebergCatalog définissant la configuration du catalogue, telle que l'entrepôt du bucket Cloud Storage sous-jacent et le mode d'authentification.
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet Google Cloud .CATALOG_ID: ID de votre catalogue d'environnements d'exécution Lakehouse.