Présentation des tables Apache Iceberg

Les tables Apache Iceberg, gérées par le catalogue d'exécution Lakehouse et le point de terminaison du catalogue REST Iceberg, sont des tables Iceberg ouvertes et interopérables qui respectent la spécification de table Apache Iceberg Open Source. Elles peuvent être lues et écrites à l'aide de n'importe quel moteur de traitement compatible avec Iceberg ou BigQuery.

Dans ce document, ces tables sont appelées "tables Iceberg Lakehouse" ou "tables Iceberg".

Vous pouvez activer les fonctionnalités suivantes en configurant les options de table :

  1. Interopérabilité en lecture/écriture (preview) : prise en charge transparente de la lecture et de l'écriture pour plusieurs moteurs, y compris BigQuery, Managed Service for Apache Spark, les moteurs compatibles avec Iceberg tels que les moteurs Open Source (Apache Spark, Apache Flink et Trino) et les moteurs tiers (tels que Snowflake).
  2. Gestion automatique des tables (preview) : gestion automatique des tables (optimisation du stockage ) telle que le compactage et la récupération de mémoire.

En plus des fonctionnalités précédentes, les fonctionnalités suivantes sont également compatibles par défaut avec les tables Iceberg Lakehouse (preview).

  1. Langage de définition de données BigQuery (preview) : vous pouvez également créer ou mettre à jour des tables Iceberg à l'aide d'instructions LDD BigQuery (par exemple, CREATE TABLE, ALTER TABLE, et DROP TABLE), en plus de créer ou de mettre à jour des tables à l'aide de moteurs compatibles avec Iceberg tels que Spark, Flink et Trino. Une fois les tables créées, elles sont disponibles en lecture et en écriture dans ces moteurs et dans BigQuery. Elles font partie de la même construction de catalogue et d'espace de noms, gérée par le catalogue d'exécution Lakehouse.
  2. Prise en charge de la distribution d'identifiants pour BigQuery (preview) : BigQuery est compatible avec l'utilisation de la distribution d'identifiants pour l'authentification lors de la lecture ou de l'écriture de tables Iceberg dans le catalogue d'exécution Lakehouse. Vous pouvez définir la distribution d'identifiants au niveau du catalogue.

Actions de gestion

Vous pouvez effectuer les actions de gestion suivantes sur vos tables Apache Iceberg :

  • Créer une table : créez une table Apache Iceberg dans un espace de noms de catalogue à l'aide de la Google Cloud console, Spark, de Trino, de gcloud, de BigQuery (preview) ou de l'API de catalogue REST Iceberg (CreateIcebergTable).
  • Enregistrer une table: enregistrez une table Apache Iceberg existante dans un espace de noms de catalogue à l'aide de gcloud ou de l'API de catalogue REST Iceberg (RegisterIcebergTable).
  • Lister les tables: affichez les identifiants de table dans un espace de noms à l'aide de la Google Cloud console, de Spark, de Trino, de gcloud, de BigQuery (preview) ou de l' API de catalogue REST Iceberg (ListIcebergTableIdentifiers).
  • Obtenir les détails d'une table: inspectez le schéma, les propriétés et les identifiants d'une table à l'aide de la Google Cloud console, de Spark, de Trino, de gcloud, de BigQuery (preview) ou de l'API de catalogue REST Iceberg (GetIcebergTable, LoadIcebergTableCredentials).
  • Insérer des données : ajoutez des lignes de données à vos tables Iceberg à l'aide de Spark, de Trino ou de BigQuery (preview).
  • Interroger une table: exécutez des requêtes sur vos tables Iceberg à partir de Spark, de Trino ou de BigQuery (preview) à l'aide d'une dénomination de table en quatre parties.
  • Modifier des données avec le LMD : mettez à jour, supprimez ou fusionnez des lignes de données dans vos tables Iceberg à l'aide d'instructions LMD de BigQuery (preview), Spark ou Trino.
  • Modifier une table: faites évoluer le schéma de table et mettez à jour les propriétés des métadonnées à l'aide de la Google Cloud console, de Spark, Trino, de gcloud, de BigQuery (preview) ou de l'API de catalogue REST Iceberg (UpdateIcebergTable).
  • Configurer les options de table: Configurez les propriétés pour activer le LMD BigQuery (preview) et la gestion automatique des tables.
  • Gérer les LCA de table: affichez et mettez à jour les stratégies IAM sur vos tables Iceberg pour contrôler l’accès de principaux spécifiques (get-iam-policy, set-iam-policy).
  • Mettre à niveau les tables Iceberg V1 vers la V2: Mettez à niveau vos tables Iceberg V1 existantes vers le format V2 compatible.
  • Utiliser des vecteurs de suppression binaires dans les tables Iceberg V3: activez les vecteurs de suppression binaires pour optimiser les performances de suppression dans les tables Iceberg V3.
  • Supprimer une table: supprimez l'enregistrement d'une table du catalogue sans supprimer les fichiers de stockage sous-jacents à l'aide de la Google Cloud console, de Spark, de Trino, de gcloud, de BigQuery (preview) ou de l'API de catalogue REST Iceberg (DeleteIcebergTable).

Étape suivante