Présentation de BigLake Metastore

BigLake Metastore est un service sans serveur entièrement géré qui fournit une source unique de référence pour votre lakehouse de données. Il permet à plusieurs moteurs, y compris Apache Spark, Apache Flink et BigQuery, de partager des tables et des métadonnées sans copier de fichiers.

Le metastore BigLake est compatible avec la délégation d'accès au stockage (distribution d'identifiants), ce qui améliore la sécurité en supprimant la nécessité d'un accès direct au bucket Cloud Storage. Il s'intègre également à Dataplex Universal Catalog pour une gouvernance, une traçabilité et une qualité des données unifiées.

Fonctionnalités clés

En tant que composant de BigLake, le metastore BigLake offre plusieurs avantages pour la gestion et l'analyse des données, y compris une architecture sans serveur, l'interopérabilité des moteurs avec les API ouvertes, une expérience utilisateur unifiée et des analyses, des flux de données et une IA hautes performances lorsqu'il est utilisé avec BigQuery. Pour en savoir plus sur ces avantages, consultez Qu'est-ce que BigLake ?

Moteurs compatibles

Le metastore BigLake est compatible avec plusieurs moteurs de requête, y compris (mais sans s'y limiter) Apache Spark, Apache Flink et Trino. Le tableau suivant fournit des liens vers la documentation de chaque moteur :

Engine Documentation
Apache Spark Démarrage rapide : utiliser avec Spark
Apache Flink Utiliser avec Apache Flink
Trino Utiliser avec Trino

Options de configuration

Vous pouvez configurer BigLake Metastore de deux manières : avec le catalogue Iceberg REST ou le catalogue Iceberg personnalisé pour BigQuery. La meilleure option dépend de votre cas d'utilisation, comme indiqué dans le tableau suivant :

Cas d'utilisation Recommandation
Nouveaux utilisateurs de métastore BigLake qui souhaitent que leur moteur Open Source accède aux données dans Cloud Storage et qui ont besoin d'une interopérabilité avec d'autres moteurs, y compris BigQuery et AlloyDB pour PostgreSQL. Utilisez le catalogue Iceberg REST.
Utilisateurs BigLake Metastore existants qui possèdent des tables actuelles avec le catalogue Iceberg personnalisé pour BigQuery. Continuez à utiliser le catalogue Iceberg personnalisé pour BigQuery, mais utilisez le catalogue Iceberg REST pour les nouveaux workflows. Les tables créées avec le catalogue Iceberg personnalisé pour BigQuery sont visibles avec le catalogue REST Iceberg via la fédération de catalogues BigQuery.

Différences avec BigLake Metastore (version classique)

BigLake Metastore est le metastore recommandé sur Google Cloud, tandis que BigLake Metastore (version classique) est considéré comme une fonctionnalité obsolète.

Voici les principales différences entre BigLake Metastore et BigLake Metastore (version classique) :

  • Le métastore BigLake est compatible avec une intégration directe aux moteurs Open Source tels que Spark, ce qui permet de réduire la redondance lorsque vous stockez des métadonnées et exécutez des jobs. Les tables du metastore BigLake sont directement accessibles à partir de plusieurs moteurs Open Source et de BigQuery.
  • Le métastore BigLake est compatible avec le catalogue Iceberg REST, contrairement au métastore BigLake (classique).

Limites de BigLake Metastore

Les limites suivantes s'appliquent aux tables du metastore BigLake :

  • Vous ne pouvez pas créer ni modifier de tables BigLake Iceberg avec des instructions LDD (langage de définition de données) ou LMD (langage de manipulation de données) BigQuery. Vous pouvez modifier les tables BigLake Iceberg à l'aide de l'API BigQuery (avec l'outil de ligne de commande bq ou les bibliothèques clientes), mais vous risquez d'apporter des modifications incompatibles avec le moteur externe.
  • Les tables BigLake Metastore ne sont pas compatibles avec les opérations de renommage ni avec l'instruction Spark SQL ALTER TABLE ... RENAME TO.
  • Les tables BigLake Metastore dans BigQuery sont soumises aux mêmes quotas et limites que les tables standards.
  • Les performances des requêtes pour les tables du metastore BigLake à partir du moteur BigQuery peuvent être lentes par rapport aux requêtes sur des données dans des tables BigQuery standards. En général, la vitesse des requêtes doit être équivalente à celle de la lecture des données depuis Cloud Storage.
  • Une simulation BigQuery d'une requête utilisant une table BigLake Metastore peut indiquer une limite inférieure de 0 octet de données, même si des lignes sont renvoyées. Ce résultat se produit, car il est impossible de déterminer la quantité de données traitées à partir de la table tant que la requête complète n'est pas exécutée. L'exécution de la requête entraîne des frais pour le traitement de ces données.
  • Vous ne pouvez pas référencer de table BigLake Metastore dans une requête de table générique.
  • Vous ne pouvez pas utiliser la méthode tabledata.list pour récupérer des données à partir des tables BigLake Metastore. Vous pouvez enregistrer les résultats de la requête dans une table BigQuery, puis utiliser la méthode tabledata.list sur cette table.
  • Les tables BigLake Metastore ne sont pas compatibles avec le clustering.
  • Les tables BigLake Metastore n'acceptent pas les noms de colonnes flexibles.
  • L'affichage des statistiques de stockage de tables pour les tables BigLake Metastore n'est pas pris en charge.
  • BigLake Metastore n'est pas compatible avec les vues Iceberg.

Étapes suivantes