Le catalogue d'environnements d'exécution Lakehouse est un metastore unifié sans serveur qui simplifie la gestion des metastores Hive auto-hébergés. Cette couche de métadonnées unique et entièrement gérée élimine le besoin de magasins de métadonnées distincts pour les charges de travail Open Source. Il vous permet de partager facilement des données entre Apache Spark, Apache Hive et BigQuery.
Optimisée pour la compatibilité avec Apache Spark ExternalCatalog, cette intégration est compatible avec un sous-ensemble de l'interface Hive Metastore. Pour savoir si vos charges de travail dépendent de fonctionnalités non compatibles telles que les transactions, les compactages ou Kerberos, consultez la comparaison des fonctionnalités et les limites.
Intégration de Hive au catalogue d'environnements d'exécution Lakehouse
Le point de terminaison du metastore Hive gère les tables Apache Hive et Spark standards (à l'aide de Hive SerDes ou de sources de données Spark) plutôt que les tables Apache Iceberg. Pour simplifier la connexion de vos jobs Spark à ce point de terminaison, les images Managed Service pour Apache Spark sont préconfigurées avec les bibliothèques clientes et les dépendances nécessaires.
La séquence suivante décrit comment Spark se connecte au metastore :
- Apache Spark se connecte aux catalogues de métadonnées externes à l'aide de l'interface
IMetastoreClientstandard d'Apache Hive. - Le catalogue d'exécution Lakehouse implémente un
IMetastoreClientpersonnalisé pour fournir un service metastore entièrement géré pour vos métadonnées Spark et Hive. - Les runtimes Managed Service pour Apache Spark préconfigurés utilisent automatiquement ce client personnalisé pour acheminer les opérations de métadonnées directement vers le metastore.
Une fois la configuration terminée, vous pouvez interroger vos tables créées avec Spark directement dans BigQuery. Cette intégration est compatible avec différents formats de stockage (Parquet, ORC et Avro, par exemple), ainsi qu'avec des mappages de types de données spécifiques entre Spark et BigQuery.
Intégration du catalogue Hive aux services Google Cloud
Pour comprendre comment Lakehouse pour Apache Iceberg gère vos données, découvrez comment l'architecture du catalogue Hive s'intègre aux services Google Cloud . Au lieu de gérer des metastores auto-hébergés, vos charges de travail Open Source se connectent au catalogue d'exécution Lakehouse pour gérer les définitions de bases de données et de tables Hive, tout en stockant les fichiers de données sous-jacents directement dans les répertoires de l'entrepôt Cloud Storage.
Le diagramme suivant illustre la façon dont les moteurs de calcul tels que Managed Service pour Apache Spark utilisent le catalogue d'environnements d'exécution Lakehouse pour gérer les métadonnées des tables lors de la lecture et de l'écriture des fichiers de données sous-jacents directement dans Hive.
Comparaison des fonctionnalités avec Hive Metastore
Le tableau suivant compare les entités et les opérations dans Hive Metastore et Lakehouse.
| Entité ou opération | Metastore Hive | Catalogue d'environnements d'exécution Lakehouse |
|---|---|---|
| Catalogue | ✅ | ✅ |
| Base de données (créer, supprimer, mettre à jour) | ✅ | ✅ |
| Table (créer, supprimer, mettre à jour) | ✅ | ✅ |
| Partition (ajouter, supprimer, mettre à jour) | ✅ | ✅ |
| Droits associés aux tables | ✅ | ✅ (via Identity and Access Management (IAM)) |
| Droits d'accès aux partitions | ✅ | ✅ (via IAM) |
| Fonctions définies par l'utilisateur | ✅ | Non compatible |
| Colonnes de répartition / d'inclinaison | ✅ | Non compatible |
| Statistiques sur les colonnes de tables et de partitions | ✅ | Non compatible |
| Principales contraintes | ✅ | Non compatible |
| Jetons de délégation (Kerberos) | ✅ | Non compatible |
| Droits d'accès aux colonnes | ✅ | Non compatible |
| Rôles | ✅ | Non compatible |
| Plans de ressources du gestionnaire de charges de travail | ✅ | Non compatible |
| Transactions et compactages | ✅ | Non compatible |