Présentation du métastore BigQuery
.Le métastore BigQuery est un métastore entièrement géré pour les produits d'analyse de données sur Google Cloud. Il fournit une source unique de vérité pour gérer les métadonnées provenant de plusieurs sources. Le métastore est accessible depuis BigQuery et divers moteurs de traitement de données Open Source, ce qui en fait un outil utile pour les analystes et les ingénieurs de données.
Par exemple, vous pouvez utiliser le métastore BigQuery comme catalogue avec des moteurs de requête Open Source tels qu'Apache Spark. Les tables créées à l'aide de Spark peuvent être interrogées à l'aide de BigQuery sans avoir à synchroniser vos métadonnées.
Avantages
Le métastore BigQuery offre plusieurs avantages pour la gestion et l'analyse des données:
- Architecture sans serveur Le métastore BigQuery fournit une architecture sans serveur, ce qui élimine la nécessité de gérer des serveurs ou des clusters. Cela permet de réduire les coûts opérationnels, de simplifier le déploiement et de permettre un scaling automatique en fonction de la demande.
- Interopérabilité des moteurs Le métastore BigQuery vous permet d'accéder directement aux tables dans BigQuery, ce qui vous permet d'interroger les tables au format ouvert stockées dans BigQuery sans configuration supplémentaire. Par exemple, vous pouvez créer une table dans Spark, puis l'interroger directement dans BigQuery. Cela permet de simplifier votre workflow d'analyse et de réduire le besoin de déplacer des données ou de procéder à des processus ETL complexes.
Expérience utilisateur unifiée. BigQuery Metastore fournit un workflow unifié dans BigQuery et BigQuery Studio. Vous pouvez ainsi utiliser Spark directement dans BigQuery et BigQuery Studio. Exemple :
Tout d'abord, vous pouvez créer une table dans Spark avec un notebook BigQuery Studio.
Vous pouvez ensuite interroger le même tableau Spark dans la console Google Cloud.
Intégrations compatibles
Vous pouvez utiliser le métastore BigQuery avec la console Google Cloud, la CLI gcloud ou les API REST BigQuery.
BigQuery Metastore est compatible avec les intégrations suivantes:
- Formats de tableau Apache Iceberg 1.5.2 ou version ultérieure
- Dataproc Version 2.2 ou ultérieure.
- Moteurs de traitement des données Version 3.3 de Spark ou ultérieure
- Plug-ins Plug-in de catalogue Iceberg pour BigQuery Metastore
Différences avec BigLake Metastore
BigQuery Metastore est le métastore recommandé sur Google Cloud.
Voici les principales différences entre le métastore BigQuery et le métastore BigLake:
BigLake Metastore est un service de métastore autonome distinct de BigQuery et qui n'est compatible qu'avec les tables Iceberg. Il présente un modèle de ressources en trois parties différent. Les tables de BigLake ne sont pas automatiquement détectées à partir de BigQuery.
Le métastore BigQuery est basé sur le catalogue BigQuery et s'intègre directement à BigQuery. Les tables du métastore BigQuery sont modifiables à partir de plusieurs moteurs Open Source, et les mêmes tables peuvent être interrogées à partir de BigQuery. Lorsque vous utilisez BigQuery, il n'existe qu'une seule source de vérité pour vos métadonnées. Par exemple, BigQuery Metastore est compatible avec l'intégration directe à Spark. Cette intégration offre un workflow plus fluide et permet de réduire la redondance lors du stockage des métadonnées et de l'exécution des tâches.
Limites
Les limites suivantes s'appliquent aux tables Metastore BigQuery:
- Vous ne pouvez pas créer ni modifier de tables de métadonnées BigQuery à l'aide d'instructions DDL ou DML à l'aide du moteur BigQuery. Vous pouvez modifier les tables du métastore BigQuery à l'aide de l'API BigQuery (avec l'outil de ligne de commande bq ou les bibliothèques clientes), mais vous risquez de faire des modifications incompatibles avec le moteur externe.
- Les tables du métastore BigQuery ne sont pas compatibles avec les opérations de renommage ni avec les instructions SQL Spark
ALTER TABLE ... RENAME TO
. - Les tables du métastore BigQuery sont soumises aux mêmes quotas et limites que les tables standards.
- Les performances des requêtes pour les tables BigQuery Metastore du moteur BigQuery peuvent être ralenties par rapport aux requêtes sur des données dans une table BigQuery standard. En général, les performances des requêtes pour une table Metastore BigQuery sont équivalentes à celles de la lecture directe de données depuis Cloud Storage.
- La simulation d'une requête qui utilise une table de métadonnées BigQuery 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 la quantité de données traitées à partir de la table ne peut pas être déterminée tant que la requête n'est pas terminé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 une table Metastore BigQuery 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 de métadonnées BigQuery. Vous pouvez plutôt enregistrer les résultats de la requête dans une table de destination, puis utiliser la méthodetabledata.list
sur cette table. - Les tables BigQuery Metastore ne sont pas compatibles avec le clustering.
- Les tables BigQuery Metastore ne sont pas compatibles avec les noms de colonnes flexibles.
- L'affichage des statistiques de stockage de tables pour les tables BigQuery Metastore n'est pas pris en charge.
Étape suivante
- Migrer des données Dataproc Metastore vers le métastore BigQuery
- Utiliser BigQuery Metastore avec Dataproc
- Utiliser le métastore BigQuery avec Dataproc sans serveur