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.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud .
-
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'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles.
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
- Lecteur 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.
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 deuxiceberg-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
- Découvrez comment modifier une table.