Le catalogue d'environnements d'exécution Lakehouse vous permet de modifier la configuration et les propriétés d'un point de terminaison de catalogue REST Apache Iceberg ou d'un point de terminaison de catalogue Apache Hive existant dans Lakehouse sans frontières. Pour les points de terminaison du catalogue REST Apache Iceberg, vous pouvez modifier le mode d'authentification, l'emplacement de l'entrepôt par défaut et le type de catalogue. Par exemple, vous pouvez migrer un catalogue à un seul bucket vers un catalogue à plusieurs buckets (recommandé) afin que votre catalogue puisse s'étendre sur plusieurs buckets de 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. - 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.
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 mettre à jour un catalogue, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Tous :
- Administrateur BigLake (
roles/biglake.admin) sur votre projet - Administrateur de l'espace de stockage (
roles/storage.admin) sur votre projet
- Administrateur BigLake (
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.
Mettre à jour un catalogue
Vous pouvez mettre à jour un catalogue à l'aide de la console Google Cloud , de gcloud ou de l'API REST.
Console
Dans la console Google Cloud , ouvrez la page Lakehouse.
Sur la ligne du catalogue que vous souhaitez mettre à jour, cliquez sur Autres actions du catalogue > Modifier.
Sous Configuration du catalogue, modifiez les paramètres que vous souhaitez mettre à jour.
Sélectionnez Enregistrer.
gcloud
Option 1 : Mettre à jour les propriétés du catalogue
Pour mettre à jour les propriétés du catalogue (comme la description ou les zones géographiques restreintes), exécutez la commande gcloud beta biglake iceberg catalogs update :
gcloud beta biglake iceberg catalogs update CATALOG_ID \ --project="PROJECT_ID" \ [--description="DESCRIPTION"] \ [--credential-mode="CREDENTIAL_MODE"] \ [--restricted-locations="RESTRICTED_LOCATIONS"]
Remplacez les éléments suivants :
CATALOG_ID: ID de votre catalogue d'exécution Lakehouse.PROJECT_ID: ID de votre projet Google Cloud .DESCRIPTION: (facultatif) description du catalogue.CREDENTIAL_MODE: (facultatif) méthode d'authentification. Utilisezend-userpour les identifiants de l'utilisateur final ouvended-credentialspour le mode de distribution d'identifiants.RESTRICTED_LOCATIONS: (facultatif) liste de buckets ou de chemins de stockage supplémentaires autorisés, séparés par une virgule. Attention : Si vous spécifiez plusieurs chemins d'accès ou buckets qui se chevauchent, cela peut entraîner des conflits de métadonnées, des écrasements de données accidentels ou des problèmes de sécurité tels que des fuites d'autorisations.
Option 2 : Passer d'un catalogue à un seul bucket à un catalogue à plusieurs buckets (recommandé)
Pour migrer un catalogue à un seul bucket existant vers un catalogue à plusieurs buckets (recommandé), exécutez la commande gcloud beta biglake iceberg catalogs update et définissez le paramètre --catalog-type sur biglake :
gcloud beta biglake iceberg catalogs update CATALOG_ID \ --project="PROJECT_ID" \ --catalog-type="biglake"
REST
Option 1 : Mettre à jour les propriétés du catalogue
Pour modifier les propriétés d'un catalogue (comme sa description) à l'aide de l'API REST, envoyez une requête PATCH au point de terminaison UpdateIcebergCatalog avec le updateMask approprié :
PATCH /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs/CATALOG_ID?updateMask=icebergCatalog.description
Le corps de la requête doit contenir une charge utile JSON IcebergCatalog avec les champs à mettre à jour :
{
"description": "Updated catalog description"
}
Option 2 : Passer d'un catalogue à un seul bucket à un catalogue à plusieurs buckets (recommandé)
Pour mettre à niveau son type à l'aide de l'API REST, envoyez une requête PATCH au point de terminaison UpdateIcebergCatalog avec catalogType dans updateMask :
PATCH /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs/CATALOG_ID?updateMask=icebergCatalog.catalogType
Le corps de la requête doit contenir une charge utile JSON IcebergCatalog avec le nouveau type de catalogue :
{
"catalogType": "BIGLAKE"
}
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet Google Cloud .CATALOG_ID: ID de votre catalogue d'exécution Lakehouse.
Remarque : Après la mise à niveau vers un catalogue à plusieurs buckets, mettez à jour les configurations de votre moteur de requête client (Spark ou Trino, par exemple) pour spécifier le chemin d'accès à l'entrepôt au format bl:// : bl://projects/PROJECT_ID/catalogs/CATALOG_ID.