Exécuter des requêtes sur une table

L'interrogation d'une table lit les données des fichiers Cloud Storage sous-jacents à l'aide des métadonnées gérées par le catalogue du runtime Lakehouse.

Vous pouvez exécuter des requêtes SELECT à partir de moteurs Open Source tels que Spark et Trino, ou directement depuis BigQuery à l'aide de noms de tables en quatre parties.

Avant de commencer

Consultez l'aperçu des tableaux pour comprendre les différents types de tableaux et les implications de leur utilisation.

  1. Vérifiez que la facturation est activée pour votre projet Google Cloud .

  2. Activez l'API BigLake.

    Rôles requis pour activer les API

    Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin), qui contient l'autorisation serviceusage.services.enable. Découvrez comment attribuer des rôles.

    Activer l'API

Rôles requis

Pour obtenir les autorisations nécessaires pour interroger une table, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet et votre bucket de stockage :

  • Lire les données de table en mode de distribution d'identifiants : Lecteur BigLake (roles/biglake.viewer) – le projet
  • Lisez les données de table en mode sans distribution d'identifiants :
    • Lecteur BigLake (roles/biglake.viewer) : projet
    • Lecteur des objets Storage (roles/storage.objectViewer) : le bucket Cloud Storage

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.

Exécuter des requêtes sur une table

Sélectionnez toutes les données du tableau :

Spark

spark.sql("SELECT * FROM TABLE_NAME;").show()

Trino

SELECT * FROM TABLE_NAME;

BigQuery

Pour interroger les tables de catalogue REST Iceberg Lakehouse depuis BigQuery, utilisez le nom de table en quatre parties dans votre requête au format suivant : PROJECT_NAME.CATALOG_ID.NAMESPACE_OR_SCHEMA_NAME.TABLE_NAME.

SELECT * FROM `PROJECT_NAME.BIGLAKE_CATALOG_ID.NAMESPACE_OR_SCHEMA_NAME.TABLE_NAME`;

Remplacez les valeurs suivantes :

  • PROJECT_NAME :Google Cloud projet propriétaire du catalogue dans le catalogue du runtime Lakehouse. Le projet Google Cloud sélectionné dans la console Google Cloud est facturé pour la requête.

  • CATALOG_ID : ID du catalogue du runtime Lakehouse spécifié lors de la création du catalogue. Cet identifiant est utilisé comme nom de catalogue dans les requêtes BigQuery.

    Cet identifiant correspond également au nom de votre bucket Cloud Storage.

    Par exemple, si vous avez créé votre bucket pour stocker votre catalogue et que vous l'avez nommé iceberg-bucket, le nom de votre catalogue et celui de votre bucket sont tous les deux iceberg-bucket. Vous l'utiliserez plus tard lorsque vous interrogerez votre catalogue dans BigQuery à l'aide de la syntaxe P.C.N.T. Par exemple, my-project.biglake_catalog_id.quickstart_namespace.quickstart_table.

  • NAMESPACE_OR_SCHEMA_NAME : espace de noms de la table si vous utilisez Spark ou nom du schéma de table si vous utilisez Trino.

  • TABLE_NAME : nom de votre table.

Étapes suivantes