BigLake Metastore ist ein vollständig verwalteter, serverloser Dienst, der eine zentrale Quelle für Ihr Data Lakehouse bietet. Er ermöglicht es mehreren Engines, darunter Apache Spark, Apache Flink und BigQuery, Tabellen und Metadaten gemeinsam zu nutzen, ohne Dateien zu kopieren.
BigLake Metastore unterstützt die Delegierung des Speicherzugriffs (Anbieten von Anmeldedaten), was die Sicherheit verbessert, da kein direkter Zugriff auf Cloud Storage-Bucket erforderlich ist. Außerdem ist er in Knowledge Catalog integriert, um eine einheitliche Verwaltung, Herkunft und Datenqualität zu ermöglichen.
Wichtige Funktionen
Als Komponente von BigLake bietet BigLake Metastore mehrere Vorteile für die Datenverwaltung und -analyse, darunter eine serverlose Architektur, Engine-Interoperabilität mit offenen APIs, eine einheitliche Nutzererfahrung und leistungsstarke Analysen, Streaming und KI bei Verwendung mit BigQuery. Weitere Informationen zu diesen Vorteilen finden Sie unter Was ist BigLake?
Unterstützte Engines
BigLake Metastore ist mit mehreren Abfrage-Engines kompatibel, darunter Apache Spark, Apache Flink und Trino. In der folgenden Tabelle finden Sie Links zur Dokumentation für jede Engine:
| Engine | Dokumentation |
|---|---|
| Apache Spark | Kurzanleitung: Mit Spark verwenden |
| Apache Flink | Mit Apache Flink verwenden |
| Trino | Mit Trino verwenden |
Konfigurationsoptionen
BigLake Metastore kann auf zwei Arten konfiguriert werden: mit dem Iceberg-REST-Katalog oder dem benutzerdefinierten Iceberg-Katalog für BigQuery. Die beste Option hängt von Ihrem Anwendungsfall ab, wie in der folgenden Tabelle dargestellt:
| Anwendungsfall | Empfehlung |
|---|---|
| Neue BigLake Metastore-Nutzer, die mit ihrer Open-Source-Engine auf Daten in Cloud Storage zugreifen möchten und Interoperabilität mit anderen Engines benötigen, darunter BigQuery und AlloyDB for PostgreSQL. | Verwenden Sie den Iceberg-REST-Katalog. |
| Vorhandene BigLake Metastore-Nutzer, die aktuelle Tabellen mit dem benutzerdefinierten Iceberg-Katalog für BigQuery haben. | Verwenden Sie weiterhin den benutzerdefinierten Iceberg-Katalog für BigQuery, aber verwenden Sie den Iceberg-REST-Katalog für neue Arbeitsabläufe. Tabellen, die mit dem benutzerdefinierten Iceberg-Katalog für BigQuery erstellt wurden, sind über die BigQuery-Katalogföderation mit dem Iceberg-REST-Katalog sichtbar. |
Unterschiede zu BigLake Metastore (klassisch)
BigLake Metastore ist der empfohlene Metastore auf Google Cloud, während BigLake Metastore (klassisch) als Legacy-Funktion gilt.
Die wichtigsten Unterschiede zwischen BigLake Metastore und BigLake Metastore (klassisch) sind:
- BigLake Metastore unterstützt eine direkte Integration mit Open-Source-Engines wie Spark, was die Redundanz beim Speichern von Metadaten und Ausführen von Jobs reduziert. Tabellen in BigLake Metastore sind direkt über mehrere Open-Source-Engines und BigQuery zugänglich.
- BigLake Metastore unterstützt den Iceberg-REST-Katalog, BigLake Metastore (klassisch) jedoch nicht.
Einschränkungen von BigLake Metastore
Für Tabellen in BigLake Metastore gelten die folgenden Einschränkungen:
Tabellenverwaltung
- Sie können keine BigLake Iceberg-Tabellen mit DDL-Anweisungen (Datendefinitionssprache) oder DML-Anweisungen (Datenbearbeitungssprache) von BigQuery erstellen oder ändern. Sie können BigLake Iceberg-Tabellen mit der BigQuery API (mit dem bq-Befehlszeilentool oder Clientbibliotheken) ändern. Dabei besteht jedoch das Risiko, dass Änderungen vorgenommen werden, die mit der externen Engine nicht kompatibel sind.
- BigLake Metastore-Tabellen unterstützen keine Umbenennungsvorgänge oder die
ALTER TABLE ... RENAME TOSpark SQL-Anweisung. - BigLake Metastore-Tabellen unterstützen kein Clustering.
- BigLake Metastore-Tabellen unterstützen keine flexiblen Spalten namen.
- BigLake Metastore unterstützt keine Iceberg-Ansichten.
Abfragen
- Die Abfrageleistung für BigLake Metastore-Tabellen aus der BigQuery-Engine ist mitunter langsamer als bei der Abfrage von Daten in BigQuery-Standardtabellen. Im Allgemeinen sollte die Abfragegeschwindigkeit dem Lesen von Daten aus Cloud Storage entsprechen.
- Ein BigQuery-Probelauf einer Abfrage, die eine BigLake Metastore-Tabelle verwendet, kann eine Untergrenze von 0 Byte an Daten melden, auch wenn Zeilen zurückgegeben werden. Dieses Ergebnis tritt auf, weil die Menge der Daten, die aus der Tabelle verarbeitet werden, erst nach Ausführung der vollständigen Abfrage bestimmt werden kann. Für die Ausführung der Abfrage fallen Kosten für die Verarbeitung dieser Daten an.
- In der Abfrage einer Platzhalter tabellen kann keine BigLake Metastore-Tabelle referenziert werden.
API und Metadaten
- Sie können die
tabledata.listMethode nicht verwenden, um Daten aus BigLake Metastore-Tabellen abzurufen. Stattdessen können Sie Abfrageergebnisse in einer BigQuery-Tabelle speichern und dann die Methodetabledata.listfür diese Tabelle verwenden. - Die Anzeige von Tabellenspeicherstatistiken für BigLake Metastore-Tabellen wird nicht unterstützt.
Kontingente und Limits
- Für BigLake Metastore-Tabellen in BigQuery gelten die selben Kontingente und Limits wie für Standard tabellen.