Répertorier des tables

La liste des tables vous permet d'afficher toutes les entités de table enregistrées dans un espace de noms du catalogue d'exécution Lakehouse.

Les moteurs de requête peuvent répertorier les tables à l'aide de commandes SQL standard, et vous pouvez récupérer les identifiants de table à l'aide de l'API REST.

Avant de commencer

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

  2. Activez l'API BigLake.

    Rôles requis pour activer les API

    Pour activer les API, vous avez besoin de l'autorisation serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation via le rôle Propriétaire (roles/owner). Sinon, vous pouvez obtenir cette autorisation via le rôle Administrateur d'utilisation du service (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.

    Activer l'API

  3. Configurez le catalogue d'exécution Lakehouse avec le point de terminaison du catalogue REST Apache Iceberg.

Rôles requis

Pour obtenir les autorisations nécessaires pour répertorier les tables, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :

  • Répertorier les tables : lecteur BigLake (roles/biglake.viewer) – votre projet

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 via des rôles personnalisés ou d'autres rôles prédéfinis.

Fonctionnalités et compatibilité des tables

Lorsque vous utilisez des tables dans le catalogue d'exécution Lakehouse, il est utile de comprendre les différents types de tables et leurs fonctionnalités d'activation. Pour en savoir plus sur l'utilisation des tables Apache Iceberg, consultez Présentation des tables Apache Iceberg.

Tables Iceberg compatibles

Seules les tables Apache Iceberg V2 (disponibilité générale) et V3 (bêta) sont compatibles. Les tables Iceberg V1 ne sont pas compatibles. Pour mettre à niveau les tables V1 existantes, consultez Mettre à niveau les tables Iceberg V1 vers V2.

Répertorier des tables

Répertorier des tables.

Console

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

    Accéder à Lakehouse

  2. Sélectionnez un catalogue existant ou créez-en un si vous n'en avez pas.

Vos tables s'affichent sur la page Détails de l'espace de noms.

Spark

spark.sql("SHOW TABLES").show()

Pour activer l'interopérabilité en lecture/écriture et la gestion des tables (bêta), ajoutez les propriétés à la clause TBLPROPERTIES :

TBLPROPERTIES (
  'gcp.biglake.bigquery-dml.enabled' = true,
  'gcp.biglake.table-management.enabled' = true
)

Trino

SHOW TABLES;

Pour activer l'interopérabilité en lecture/écriture et la gestion des tables (bêta), ajoutez ces propriétés à la clause WITH :

WITH (
  "gcp.biglake.bigquery-dml.enabled" = 'true',
  "gcp.biglake.table-management.enabled" = 'true'
)

gcloud

Pour répertorier les tables à l'aide de gcloud, exécutez la commande gcloud biglake iceberg tables list.

gcloud biglake iceberg tables list \
    --project="PROJECT_ID" \
    --catalog="CATALOG_ID" \
    --namespace="NAMESPACE_NAME"

Remplacez les éléments suivants :

  • PROJECT_ID: ID de votre Google Cloud projet.
  • CATALOG_ID : ID de votre catalogue.
  • NAMESPACE_NAME : nom de l'espace de noms de votre catalogue.

BigQuery

Pour répertorier les tables Apache Iceberg dans le catalogue d'exécution Lakehouse à partir de BigQuery, vous pouvez explorer le volet Explorateur de la console BigQuery ou utiliser la commande bq ls.

REST

Pour répertorier les identifiants de table dans un espace de noms à l'aide de l'API REST, envoyez une GET requête au ListIcebergTableIdentifiers point de terminaison :

GET /iceberg/v1/restcatalog/v1/projects/PROJECT_ID/catalogs/CATALOG_ID/namespaces/NAMESPACE_NAME/tables

La réponse contient un tableau JSON d'identifiants de table enregistrés sous l'espace de noms spécifié.

Remplacez les éléments suivants :

  • PROJECT_ID: ID de votre Google Cloud projet.
  • CATALOG_ID : ID de votre catalogue.
  • NAMESPACE_NAME : nom de l'espace de noms de votre catalogue.

Étape suivante