Mettre à jour un catalogue

La mise à jour d'un catalogue (tel qu'un catalogue REST Apache Iceberg) vous permet de modifier ses propriétés, comme son mode d'identifiants, l'emplacement par défaut de l'entrepôt ou son type de catalogue sous-jacent.

Par exemple, vous pouvez mettre à niveau un catalogue à bucket unique vers un catalogue à plusieurs buckets (recommandé). La mise à niveau de votre catalogue offre des avantages considérables, par exemple en lui permettant de s'étendre sur plusieurs buckets de stockage.

Avant de commencer

  1. Lisez À propos du catalogue d'environnements d'exécution Lakehouse pour comprendre comment il fonctionne et connaître les limites du service.
  2. Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.

    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

    • 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

    Enable the BigLake API.

    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.

    Enable the API

    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

    • 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

    Enable the BigLake API.

    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.

    Enable the API

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 :

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 Google Cloud console, gcloud, ou de l' API REST.

Console

  1. Dans la Google Cloud console, ouvrez la page Lakehouse.

    Accéder à Lakehouse

  2. Sur la ligne du catalogue que vous souhaitez mettre à jour, cliquez sur Autres actions sur le catalogue > Modifier.

  3. Sous Configuration du catalogue, modifiez les paramètres que vous souhaitez mettre à jour.

  4. Sélectionnez Enregistrer.

gcloud

Option 1 : Mettre à jour les propriétés du catalogue

Pour mettre à jour les propriétés du catalogue (telles que la description ou les emplacements restreints), 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'environnements d'exécution Lakehouse.
  • PROJECT_ID: ID de votre Google Cloud projet.
  • DESCRIPTION : (facultatif) description du catalogue.
  • CREDENTIAL_MODE : (facultatif) méthode d'authentification. Utilisez end-user pour Identifiants de l'utilisateur final ou vended-credentials pour Mode de distribution d'identifiants.
  • RESTRICTED_LOCATIONS : (facultatif) liste d'autres buckets ou chemins de stockage autorisés, séparés par une virgule. Attention : Si vous spécifiez plusieurs chemins ou buckets qui se chevauchent, cela peut entraîner des conflits de métadonnées, des écrasements accidentels de données ou des problèmes de sécurité tels que des fuites d'autorisations.

Option 2 : Mettre à niveau un catalogue à bucket unique vers un catalogue à plusieurs buckets (recommandé)

Pour mettre à niveau un catalogue à bucket unique existant vers un catalogue à plusieurs buckets (recommandé), exécutez la gcloud beta biglake iceberg catalogs update commande et définissez le --catalog-type paramètre 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 (telles que sa description) à l'aide de l'API REST, envoyez une PATCH requête 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 : Mettre à niveau un catalogue à bucket unique vers un catalogue à plusieurs buckets (recommandé)

Pour mettre à niveau son type à l'aide de l'API REST, envoyez une PATCH requête au point de terminaison UpdateIcebergCatalog avec le catalogType dans le 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 Google Cloud projet.
  • CATALOG_ID : ID de votre catalogue d'environnements d'exécution Lakehouse.

Remarque : Après la mise à niveau vers un catalogue à plusieurs buckets, mettez à jour les configurations de votre moteur de requêtes client (tel que Spark ou Trino) pour spécifier le chemin d'accès à l'entrepôt au format bl:// : bl://projects/PROJECT_ID/catalogs/CATALOG_ID.