Der benutzerdefinierte Apache Iceberg-Katalog für BigQuery-Endpunkt verbindet Open-Source-Abfrage-Engines wie Apache Spark und Apache Flink mit dem Lakehouse-Laufzeitkatalog. Durch die Einbindung eines benutzerdefinierten Katalog-Plug-ins (BigQueryMetastoreCatalog) können Sie mit diesem Endpunkt Apache Iceberg-Tabellenmetadaten direkt über BigQuery verwalten und abfragen, während Daten- und Metadatendateien in Cloud Storage gespeichert werden.
Funktionsweise des benutzerdefinierten Iceberg-Katalogs
Der benutzerdefinierte Apache Iceberg-Katalog verwendet eine benutzerdefinierte Katalogimplementierung (org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog), die in einer JAR-Bibliothek bereitgestellt wird. Wenn Ihre Compute-Arbeitslasten in Managed Service for Apache Spark ausgeführt werden, verwendet die Engine dieses Plug-in, um mit BigQuery als Metadatenspeicher für Ihre Apache Iceberg-Tabellen zu interagieren.
Der Workflow funktioniert so:
- Katalogimplementierung:Abfrage-Engines laden die JAR-Datei des BigQuery Metastore-Katalogs und konfigurieren die Katalogeigenschaften der Spark-Sitzung für die Verwendung von
org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog. - Metadatenverwaltung:Wenn Sie Tabellen mit Spark SQL oder DataFrame APIs erstellen oder ändern, speichert das Plug-in Dataset- und Tabellendefinitionen in BigQuery.
- Datenspeicherung:Apache Iceberg-Metadatendateien (
metadata.json, Manifestlisten, Manifeste) und Datendateien (z. B. Parquet-Dateien) werden direkt im angegebenen Cloud Storage-Warehouse-Pfad gespeichert. - Zugriff über verschiedene Engines:Da Metadaten in BigQuery registriert sind, können Sie Tabellen sowohl über Open-Source-Engines wie Spark als auch direkt über BigQuery abfragen.
Ressourcenhierarchie
Der benutzerdefinierte Apache Iceberg-Katalog für BigQuery-Endpunkt organisiert Metadaten in der folgenden Hierarchie:
| Ressource | Beschreibung |
|---|---|
| Projekt | Das Google Cloud Projekt, das Ihre BigQuery-Ressourcen und den Cloud Storage-Warehouse-Speicher enthält. |
| Namespace (Dataset) | Ein BigQuery-Dataset, das als Iceberg-Namespace konfiguriert ist und den Standard-Cloud Storage-Speicherort für darin erstellte Tabellen definiert. |
| Tabelle | Eine Apache Iceberg-Tabelle, deren Schema, Snapshots und Metadatenzeiger in BigQuery verfolgt werden und deren Datendateien sich in Cloud Storage befinden. |
Benutzerdefinierte Iceberg-Kataloge und Iceberg-REST-Kataloge vergleichen
In der folgenden Tabelle sind die wichtigsten Unterschiede zwischen dem benutzerdefinierten Apache Iceberg-Katalog für BigQuery-Endpunkt und dem Apache Iceberg REST-Katalogendpunkt zusammengefasst:
| Funktion | Benutzerdefinierter Iceberg-Katalog für BigQuery | Apache Iceberg REST-Katalogendpunkt (empfohlen) |
|---|---|---|
| Catalog API-Standard | Benutzerdefiniertes Plug-in (BigQueryMetastoreCatalog) |
Offene Apache Iceberg REST Catalog API |
| Kataloghierarchie | Projekt > BigQuery-Dataset > Tabelle | Projekt > Katalog > Namespace > Tabelle (P.C.N.T) |
| Speicherkonfiguration | Cloud Storage-Pfade, die pro Dataset oder Tabelle angegeben werden | Kataloge mit mehreren Buckets (bl://) oder einem Bucket (gs://) |
| Bereitstellung von Anmeldedaten | Nicht unterstützt (verwendet direkte IAM-Anmeldedaten) | Unterstützt (stellt kurzlebige Tokens für den Speicherzugriff bereit) |
| Notfallwiederherstellung | Nicht unterstützt | Unterstützt (regionsübergreifende Replikation und Failover) |
| Empfohlen für | Vorhandene Bereitstellungen und Workflows | Neue Arbeitslasten und Standard-Iceberg-REST-Clientintegrationen |
Nächste Schritte
- Laufzeitkatalog mit Apache Iceberg 1.10 und höher konfigurieren
- Laufzeitkatalog mit Apache Iceberg 1.9 und niedriger konfigurieren
- Katalogressourcen erstellen und verwalten.
- Laufzeitkatalog mit BigQuery Tabellen verwenden.
- Gespeicherte Apache Spark-Verfahren verwenden.
- Zusätzliche Katalog funktionen anpassen.