Créer et interroger une table Iceberg dans Lakehouse à l'aide de la console Google Cloud

Dans ce guide de démarrage rapide, vous allez utiliser la console Google Cloud pour découvrir comment le lakehouse sans bordure vous permet de gérer et de partager des tables Apache Iceberg sur Google Cloud et des moteurs Open Source en stockant les métadonnées des tables, y compris les schémas, les instantanés et les emplacements de stockage, dans le catalogue d'environnements d'exécution Lakehouse.

Pour suivre ce guide de démarrage rapide, vous devez effectuer les étapes suivantes dans la consoleGoogle Cloud  :

  1. Créez un bucket Cloud Storage : créez un bucket dans Cloud Storage pour stocker les fichiers de données et de métadonnées de votre table Iceberg.
  2. Créer un catalogue : créez un catalogue à plusieurs buckets dans le catalogue du runtime Lakehouse, qui est soutenu par votre bucket avec la distribution d'identifiants activée.
  3. Créer un espace de noms et une table Iceberg : utilisez la page Lakehouse de la console Google Cloud pour créer un espace de noms et une table Iceberg avec le langage de manipulation de données (LMD) BigQuery activé.
  4. Modifier les données et interroger la table dans BigQuery : utilisez les instructions LMD BigQuery (INSERT, UPDATE et DELETE) pour modifier les lignes de la table Iceberg et interroger les résultats à l'aide de la syntaxe P.C.N.T (Project.Catalog.Namespace.Table) en quatre parties, sans avoir besoin d'effectuer d'ETL ni d'enregistrer manuellement la table.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud . 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.
  2. 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

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the BigLake, Cloud Storage, and BigQuery APIs, if any are 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.

    Enable the APIs

  5. Make sure that you have the following role or roles on the project: BigLake Admin (roles/biglake.admin), Storage Admin (roles/storage.admin), and BigQuery Job User (roles/bigquery.jobUser)

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. Click Grant access.
    4. In the New principals field, enter your user identifier. This is typically the email address for a Google Account.

    5. Click Select a role, then search for the role.
    6. To grant additional roles, click Add another role and add each additional role.
    7. Click Save.
  6. 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

  7. Verify that billing is enabled for your Google Cloud project.

  8. Enable the BigLake, Cloud Storage, and BigQuery APIs, if any are 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.

    Enable the APIs

  9. Make sure that you have the following role or roles on the project: BigLake Admin (roles/biglake.admin), Storage Admin (roles/storage.admin), and BigQuery Job User (roles/bigquery.jobUser)

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. Click Grant access.
    4. In the New principals field, enter your user identifier. This is typically the email address for a Google Account.

    5. Click Select a role, then search for the role.
    6. To grant additional roles, click Add another role and add each additional role.
    7. Click Save.

Créer un bucket Cloud Storage

Créez un bucket Cloud Storage dans la console Google Cloud pour stocker les fichiers de données et de métadonnées de votre table Iceberg :

  1. Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.

    Accéder à la page "Buckets"

  2. Cliquez sur Créer.

  3. Dans la section Premiers pas, saisissez un nom de bucket unique (par exemple, lakehouse-quickstart-UNIQUE_ID ou PROJECT_ID-lakehouse), puis cliquez sur Continuer.

  4. Dans la section Choisir où stocker vos données, laissez le Type d'emplacement défini sur Multirégional (us (plusieurs régions aux États-Unis)), puis cliquez sur Créer.

  5. Si la boîte de dialogue L'accès public sera bloqué s'affiche, cliquez sur Confirmer.

Créer un catalogue dans le catalogue d'environnements d'exécution Lakehouse

Créez un catalogue à plusieurs buckets dans le catalogue Lakehouse Runtime pour vos tables Apache Iceberg. Un catalogue multibuckets vous permet de nommer votre catalogue indépendamment de tout nom de bucket et d'associer plusieurs buckets Cloud Storage à un même catalogue. Pour sécuriser l'accès à ces buckets, activez le mode de distribution d'identifiants afin que le catalogue puisse émettre automatiquement des identifiants de stockage temporaires directement vers vos moteurs clients.

  1. Dans la console Google Cloud , accédez à la page Lakehouse.

    Accéder à Lakehouse

  2. Cliquez sur Créer un catalogue, puis sélectionnez Catalogue d'environnements d'exécution Lakehouse.

  3. Dans la section Détails du catalogue, configurez les paramètres suivants :

    • Type de catalogue : sélectionnez Catalogue REST Iceberg.
    • Options de bucket du catalogue Lakehouse : sélectionnez Catalogue à plusieurs buckets.
    • Chemin Cloud Storage du catalogue par défaut : cliquez sur Parcourir, sélectionnez le bucket que vous avez créé, puis cliquez sur Sélectionner.
    • ID du catalogue : saisissez quickstart_catalog.
    • Emplacement principal : sélectionnez Multirégional, puis US (plusieurs régions aux États-Unis).
  4. Cliquez sur Continuer, puis dans la section Chemins d'accès aux données, cliquez sur Continuer.

  5. Dans la section Méthode d'authentification, sélectionnez Mode de distribution des identifiants.

    Avec la distribution d'identifiants, le catalogue émet de manière sécurisée des jetons de stockage temporaires et limités aux tables pour les moteurs clients et BigQuery. Les moteurs externes n'ont donc pas besoin d'autorisations IAM directes sur votre bucket.

  6. Cliquez sur Créer.

    Votre catalogue est créé et la page Informations sur le catalogue s'ouvre.

  7. Sous Méthode d'authentification, cliquez sur Définir les autorisations du bucket, puis sur Confirmer dans la boîte de dialogue.

    Cette étape accorde au compte de service du catalogue les autorisations requises sur votre bucket Cloud Storage pour distribuer des identifiants temporaires.

Créer un espace de noms et une table Iceberg

Maintenant que vous disposez d'un catalogue, utilisez la page Lakehouse de la consoleGoogle Cloud pour créer un espace de noms et une table Iceberg.

Créer un espace de noms

  1. Sur la page Détails du catalogue pour quickstart_catalog, cliquez sur Créer un espace de noms.

  2. Dans le champ Nom de l'espace de noms, saisissez quickstart_namespace.

  3. Laissez le champ Emplacement défini sur le chemin d'accès Cloud Storage par défaut qui est automatiquement renseigné.

  4. Cliquez sur Créer.

Créer une table Iceberg

  1. Sur la page Détails du catalogue, cliquez sur quickstart_namespace.

    La page Détails de l'espace de noms s'ouvre.

  2. Cliquez sur  > Créer une table.

  3. Dans le volet Créer une table, configurez les paramètres suivants :

    • Format de table : vérifiez que l'option Iceberg est sélectionnée.
    • Nom de la table : saisissez quickstart_table.
    • Emplacement : conservez le chemin d'accès Cloud Storage par défaut.
  4. Sous Schéma, cliquez deux fois sur Ajouter un champ pour ajouter deux colonnes au tableau :

    • Pour le premier champ, saisissez id dans le champ Nom du champ, puis sélectionnez INTEGER dans le menu Type.
    • Dans le deuxième champ, saisissez name dans le champ Nom du champ, puis sélectionnez STRING dans le menu Type.
  5. Sous Propriétés, recherchez la propriété prédéfinie gcp.biglake.bigquery-dml.enabled et remplacez sa valeur de false par true. Laissez gcp.biglake.table-management.enabled défini sur false.

    Si vous définissez gcp.biglake.bigquery-dml.enabled sur true, vous pouvez modifier les données de la table Iceberg à l'aide d'instructions LMD BigQuery telles que INSERT, UPDATE, DELETE et MERGE. Pour en savoir plus, consultez Configurer les options de tableau.

  6. Cliquez sur Créer.

    Votre nouvelle table Iceberg (quickstart_table) s'affiche sur la page Détails de l'espace de noms, et le catalogue d'exécution Lakehouse écrit le fichier de métadonnées Iceberg initial dans votre bucket Cloud Storage.

Modifier les données et interroger la table dans BigQuery

Une fois quickstart_table créé et le LMD BigQuery activé, vous pouvez insérer, mettre à jour, supprimer et interroger des lignes directement dans BigQuery à l'aide de la syntaxe P.C.N.T (Projet.Catalogue.Espace de noms.Table) en quatre parties. Dans chaque instruction, remplacez PROJECT_ID par l'ID de votre projetGoogle Cloud  :

  1. Dans la console Google Cloud , accédez à la page BigQuery.

    Accéder à BigQuery

  2. Dans l'éditeur de requête, cliquez sur Requête SQL.

  3. Insérez trois lignes d'exemples de données :

    INSERT INTO `PROJECT_ID.quickstart_catalog.quickstart_namespace.quickstart_table` (id, name)
    VALUES (1, 'one'), (2, 'two'), (3, 'three');

    Cliquez sur Exécuter. Une fois l'instruction INSERT terminée, BigQuery écrit les fichiers de données Parquet dans votre bucket Cloud Storage et valide un nouvel instantané Iceberg dans le catalogue du runtime Lakehouse.

  4. Modifiez une ligne du tableau :

    UPDATE `PROJECT_ID.quickstart_catalog.quickstart_namespace.quickstart_table`
    SET name = 'updated'
    WHERE id = 1;

    Cliquez sur Exécuter.

  5. Supprimez une ligne du tableau :

    DELETE FROM `PROJECT_ID.quickstart_catalog.quickstart_namespace.quickstart_table`
    WHERE id = 3;

    Cliquez sur Exécuter.

  6. Interrogez la table pour vérifier vos modifications :

    SELECT * FROM `PROJECT_ID.quickstart_catalog.quickstart_namespace.quickstart_table`
    ORDER BY id;

    Cliquez sur Exécuter. Le volet Résultats de la requête affiche les deux lignes restantes, y compris la valeur mise à jour pour id = 1 :

    +----+---------+
    | id | name    |
    +----+---------+
    |  1 | updated |
    |  2 | two     |
    +----+---------+
    

Étant donné que le catalogue d'environnements d'exécution Lakehouse gère les métadonnées Iceberg et que la distribution d'identifiants est activée, vous pouvez également lire ou écrire dans quickstart_table à l'aide de n'importe quel moteur Open Source compatible avec Iceberg, tel qu'Apache Spark, Trino ou Apache Flink, sans leur accorder d'accès IAM direct à votre bucket.

Effectuer un nettoyage

Pour éviter que des frais inutiles ne soient facturés sur votre compte Google Cloud , supprimez les ressources que vous avez créées dans ce guide de démarrage rapide. La suppression de la table, de l'espace de noms et du catalogue supprime l'enregistrement des métadonnées du catalogue d'exécution Lakehouse, tandis que la suppression du bucket supprime les données Parquet sous-jacentes et les fichiers de métadonnées Iceberg stockés dans Cloud Storage :

  1. Dans la console Google Cloud , accédez à la page Lakehouse.

    Accéder à Lakehouse

  2. Supprimez la table de votre catalogue :

    1. Cliquez sur quickstart_catalog, puis sur quickstart_namespace.
    2. Dans le tableau Détails de l'espace de noms, sur la ligne de quickstart_table, cliquez sur Plus > Supprimer.
    3. Saisissez DELETE pour confirmer, puis cliquez sur Supprimer.
  3. Supprimez l'espace de noms de votre catalogue :

    1. Revenez à la page Détails du catalogue pour quickstart_catalog.
    2. Sur la ligne de quickstart_namespace, cliquez sur Autres actions sur l'espace de noms > Supprimer.
    3. Saisissez DELETE pour confirmer, puis cliquez sur Supprimer.
  4. Supprimez votre catalogue :

    1. Revenez à la page Lakehouse.
    2. Sur la ligne de quickstart_catalog, cliquez sur Autres actions sur le catalogue > Supprimer.
    3. Saisissez DELETE pour confirmer, puis cliquez sur Supprimer.
  5. Supprimez votre bucket Cloud Storage et tout son contenu :

    1. Accédez à la page Buckets de Cloud Storage.

      Accéder à la page "Buckets"

    2. Cochez la case à côté du bucket que vous avez créé pour ce guide de démarrage rapide, puis cliquez sur Supprimer.

    3. Saisissez DELETE pour confirmer, puis cliquez sur Supprimer.

Étapes suivantes