Benutzerdefinierter Apache Iceberg-Katalog für den BigQuery-Endpunkt

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:

  1. 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.
  2. Metadatenverwaltung:Wenn Sie Tabellen mit Spark SQL oder DataFrame APIs erstellen oder ändern, speichert das Plug-in Dataset- und Tabellendefinitionen in BigQuery.
  3. Datenspeicherung:Apache Iceberg-Metadatendateien (metadata.json, Manifestlisten, Manifeste) und Datendateien (z. B. Parquet-Dateien) werden direkt im angegebenen Cloud Storage-Warehouse-Pfad gespeichert.
  4. 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