Choisir la bonne architecture de table est essentiel pour maximiser les performances, réduire les coûts et garantir l'accès aux données dans vos outils d'analyse. Cette page décrit les différents types de tables et les points de terminaison de diffusion disponibles dans Lakehouse pour Apache Iceberg. Elle vous aide à choisir la meilleure option en fonction de vos moteurs d'écriture, de vos besoins de lecture et de vos besoins de contrôle de gestion.
Formats de tableau par catalogue ou moteur
Sélectionnez un catalogue ou un moteur pour en savoir plus sur les formats de table compatibles, la configuration du metastore, les fonctionnalités d'optimisation du stockage et l'interopérabilité du moteur.
Catalogue d'environnements d'exécution Lakehouse
Le catalogue d'environnements d'exécution Lakehouse gère les tables Apache Iceberg via le point de terminaison du catalogue REST Iceberg et offre une interopérabilité en lecture et en écriture fluide entre les moteurs compatibles Iceberg (Spark, Flink, Trino) et BigQuery. Il est également basé sur l'interface de catalogue REST Iceberg, qui est une norme du secteur.
Formats de tableaux acceptés
Les tables Apache Iceberg V2 (disponibilité générale) et V3 (preview) sont compatibles. Les tables Iceberg V1 ne sont pas acceptées. Avant d'utiliser des tables V1 existantes avec Lakehouse pour Apache Iceberg, vous devez les mettre à niveau vers une version compatible. Pour en savoir plus, consultez Mettre à niveau les tables Iceberg V1 vers V2.
Principales fonctionnalités :
- Metastore : catalogue d'environnements d'exécution Lakehouse.
- Stockage : Cloud Storage.
- Optimisation du stockage : gérée par vous ou, en option, par Google (aperçu).
- Accès en lecture et en écriture :
- Moteurs Open Source : lecture et écriture (GA)
- BigQuery : lecture/écriture (preview)
- Cas d'utilisation : lakehouse ouvert avec stockage hautes performances de niveau entreprise pour l'analyse avancée, le streaming et l'IA.
Metastore Hive
Le catalogue d'environnements d'exécution Lakehouse gère les tables Apache Hive via un point de terminaison Apache Hive Metastore (HMS) optimisé pour la compatibilité avec Apache Spark ExternalCatalog, ce qui vous permet de partager facilement des données entre Apache Spark, Apache Hive et BigQuery. Vous créez ces tables à partir de moteurs Open Source et les stockez dans Cloud Storage. Cette option est idéale si vous souhaitez que votre workflow ETL soit géré par des moteurs Open Source sans avoir besoin d'un metastore Hive auto-hébergé distinct, et que vous n'avez besoin que d'un accès en lecture depuis BigQuery.
Les tables gérées par le point de terminaison du metastore Hive sont des tables Apache Hive et Spark standards (utilisant des SerDes Hive ou des sources de données Spark), et non des tables Apache Iceberg. Pour créer et gérer des tables Apache Iceberg dans le catalogue du runtime Lakehouse, utilisez plutôt le point de terminaison du catalogue REST Iceberg.
Principales fonctionnalités :
- Metastore : catalogue d'environnements d'exécution Lakehouse (via
IMetastoreClientpersonnalisé). - Stockage : Cloud Storage (formats compatibles : Parquet, ORC et Avro, par exemple).
- Optimisation du stockage : gérée par vous ou un tiers.
- Accès en lecture et en écriture :
- Moteurs Open Source (Spark et Hive) : lecture et écriture.
- BigQuery : en lecture seule.
- Cas d'utilisation : migrer les charges de travail Spark et Hive existantes vers un metastore sans serveur entièrement géré sur Google Cloud.
BigQuery
BigQuery est compatible avec les tables gérées, natives et externes Apache Iceberg.
Tables gérées Apache Iceberg : il s'agit de tables Apache Iceberg que vous créez et gérez depuis BigQuery, et que vous stockez dans Cloud Storage. Bien qu'elles puissent être lues par des moteurs Open Source, BigQuery est le moteur qui gère les métadonnées et les écrit. Cette option est idéale si vous souhaitez que votre workflow soit entièrement géré par BigQuery.
Tables natives : il s'agit de tables BigQuery natives. Ils sont entièrement gérés et offrent les fonctionnalités d'analyse et de gestion les plus avancées. Cette option est idéale pour les charges de travail non Iceberg.
Tables externes : ces tables sont des constructions spécifiques à BigQuery pour les données stockées dans Cloud Storage, Amazon S3 ou Azure Blob Storage. Les données et les métadonnées sont autogérées, et BigQuery ne dispose que d'un accès en lecture. Choisissez cette option pour les données que vous souhaitez gérer directement dans un catalogue ou un espace de stockage tiers.
Formats de tableau par produit
Utilisez le tableau suivant pour comparer les types de tables entre le catalogue du runtime Lakehouse et BigQuery.
Lakehouse
| Apache Iceberg (disponibilité générale) | Apache Hive (bêta) | |
|---|---|---|
| Metastore | Catalogue d'environnements d'exécution Lakehouse | Catalogue d'environnements d'exécution Lakehouse |
| Stockage | Cloud Storage | Cloud Storage |
| Optimisation du stockage | Gérée par le client, par un tiers ou par Google (preview) | Gérée par le client ou un tiers |
| Lecture/Écriture |
Moteurs Open Source (lecture/écriture) BigQuery (lecture/écriture). Aperçu |
Moteurs Open Source (lecture/écriture) BigQuery (lecture seule) |
| Opérations avancées | Aucun | Aucun |
| Cas d'utilisation | Lakehouse ouvert | Migrer les charges de travail Spark et Hive existantes vers un metastore sans serveur entièrement géré |
BigQuery
| Tables gérées Apache Iceberg | Tables externes | Tables standards | |
|---|---|---|---|
| Metastore | BigQuery | Métastore externe ou auto-hébergé | BigQuery |
| Stockage | Cloud Storage | Cloud Storage / Amazon S3 / Azure | BigQuery |
| Optimisation du stockage | Géré par Google | Gérée par le client ou un tiers | Géré par Google |
| Lecture/Écriture |
Moteurs Open Source (lecture seule avec les bibliothèques Iceberg, interopérabilité en lecture/écriture avec l'API BigQuery Storage)
BigQuery (lecture/écriture) |
Moteurs Open Source (lecture/écriture) BigQuery (lecture seule) |
Moteurs Open Source (interopérabilité en lecture/écriture avec l'API BigQuery Storage) BigQuery (lecture/écriture) |
| Opérations avancées | Streaming à haut débit avec l'API BigQuery Storage Write, la capture des données modifiées (CDC) et les transactions multi-instructions | Aucun | Streaming à haut débit avec l'API BigQuery Storage Write, la capture des données modifiées (CDC) et les transactions multi-instructions |
| Cas d'utilisation | Lakehouse ouvert avec stockage hautes performances de niveau entreprise pour l'analyse avancée, le streaming et l'IA | Tables de préproduction pour les chargements BigQuery, anciennes tables en lecture seule | Stockage de niveau Enterprise pour l'analyse avancée, le streaming et l'IA |
Étapes suivantes
Découvrez comment gérer les tables Apache Iceberg.
Découvrez comment importer des tables Iceberg externes à l'aide de Dataflow.