Der Lakehouse-Laufzeitkatalog ist ein serverloser, einheitlicher Metastore, der die Verwaltung selbst gehosteter Hive-Metastores vereinfacht. Diese einzelne, vollständig verwaltete Metadatenebene macht separate Metadaten-Stores für Open-Source-Arbeitslasten überflüssig. Sie können Daten nahtlos zwischen Apache Spark, Apache Hive und BigQuery austauschen.
Diese Integration ist für die Apache Spark-Kompatibilität mit ExternalCatalog optimiert und unterstützt eine Teilmenge der Hive-Metastore-Schnittstelle. Ob Ihre Arbeitslasten
von nicht unterstützten Funktionen wie Transaktionen, Komprimierungen oder Kerberos abhängen,
erfahren Sie im Funktionsvergleich und unter Einschränkungen.
So wird Hive in den Lakehouse-Laufzeitkatalog eingebunden
Der Hive-Metastore-Endpunkt verwaltet Standard-Apache Hive- und Spark-Tabellen (mit Hive SerDes oder Spark-Datenquellen) anstelle von Apache Iceberg-Tabellen. Um die Verbindung Ihrer Spark-Jobs mit diesem Endpunkt zu vereinfachen, sind Managed Service for Apache Spark-Images mit den erforderlichen Clientbibliotheken und Abhängigkeiten vorkonfiguriert.
Die folgende Sequenz beschreibt, wie Spark eine Verbindung zum Metastore herstellt:
- Apache Spark stellt über die Standard-Apache Hive-Schnittstelle
IMetastoreClienteine Verbindung zu externen Metadatenkatalogen her. - Der Lakehouse-Laufzeitkatalog implementiert einen benutzerdefinierten
IMetastoreClient, um einen vollständig verwalteten Metastore-Dienst für Ihre Spark- und Hive-Metadaten bereitzustellen. - Vorkonfigurierte Managed Service for Apache Spark-Laufzeiten verwenden diesen benutzerdefinierten Client automatisch, um Metadatenvorgänge direkt an den Metastore weiterzuleiten.
Nach der Einrichtung können Sie Ihre mit Spark erstellten Tabellen direkt in BigQuery abfragen. Diese Integration unterstützt verschiedene Speicherformate wie Parquet, ORC und Avro sowie bestimmte Datentypzuordnungen zwischen Spark und BigQuery.
So wird der Hive-Katalog in Google Cloud Dienste eingebunden
Informationen dazu, wie Lakehouse for Apache Iceberg Ihre Daten verwaltet, finden Sie unter So wird die Hive Katalogarchitektur in Google Cloud Dienste eingebunden. Anstatt selbst gehostete Metastores zu verwalten, stellen Ihre Open-Source-Arbeitslasten eine Verbindung zum Lakehouse-Laufzeitkatalog her, um Hive-Datenbank- und Tabellendefinitionen zu verwalten. Die zugrunde liegenden Datendateien werden direkt in Cloud Storage-Warehouse-Verzeichnissen gespeichert.
Das folgende Diagramm zeigt, wie Compute-Engines wie Managed Service for Apache Spark den Lakehouse-Laufzeitkatalog verwenden, um Tabellenmetadaten zu verwalten, während die zugrunde liegenden Datendateien direkt in Hive gelesen und geschrieben werden.
Funktionsvergleich mit Hive-Metastore
In der folgenden Tabelle werden Entitäten und Vorgänge in Hive-Metastore und Lakehouse verglichen.
| Entität oder Vorgang | Hive-Metastore | Lakehouse-Laufzeitkatalog |
|---|---|---|
| Katalog | ✅ | ✅ |
| Datenbank (erstellen, löschen, aktualisieren) | ✅ | ✅ |
| Tabelle (erstellen, löschen, aktualisieren) | ✅ | ✅ |
| Partition (hinzufügen, löschen, aktualisieren) | ✅ | ✅ |
| Tabellenberechtigungen | ✅ | ✅ (über Identity and Access Management (IAM)) |
| Partitionsberechtigungen | ✅ | ✅ (über IAM) |
| Benutzerdefinierte Funktionen | ✅ | Nicht unterstützt |
| Bucketing-/Skewing-Spalten | ✅ | Nicht unterstützt |
| Tabellen- und Partitionsspaltenstatistiken | ✅ | Nicht unterstützt |
| Haupteinschränkungen | ✅ | Nicht unterstützt |
| Delegierungstokens (Kerberos) | ✅ | Nicht unterstützt |
| Spaltenberechtigungen | ✅ | Nicht unterstützt |
| Rollen | ✅ | Nicht unterstützt |
| Ressourcenpläne für den Arbeitslastmanager | ✅ | Nicht unterstützt |
| Transaktionen und Komprimierungen | ✅ | Nicht unterstützt |