Einführung in BigLake Metastore
Der BigLake-Metastore ist ein einheitlicher, verwalteter, serverloser und skalierbarer Metastore, der Lakehouse-Daten, die in Cloud Storage oder BigQuery gespeichert sind, mit mehreren Runtimes verbindet, darunter Open-Source-Runtimes wie Apache Spark und Apache Flink sowie BigQuery.
BigLake Metastore bietet eine zentrale Quelle für die Verwaltung von Metadaten aus mehreren Engines. Es unterstützt wichtige Open-Source-Tabellenformate wie Apache Iceberg über BigLake Iceberg-Tabellen und Standard-BigQuery-Tabellen. Außerdem unterstützt BigLake Metastore offene APIs und einen Iceberg REST-Katalog (Vorschau).
Anhand der folgenden Tabelle können Sie entscheiden, wo Sie mit BigLake Metastore beginnen sollten:
Anwendungsfall | Empfehlung |
---|---|
Die Open-Source-Engine muss auf Daten in Cloud Storage zugreifen. | Iceberg-REST-Katalog ansehen (Vorschau) |
Die Open-Source-Engine muss mit BigQuery kompatibel sein. | Mit dem benutzerdefinierten Iceberg-Katalog-Plug-in für BigQuery können Sie die BigLake Metastore-Integration mit Open-Source-Engines wie Spark untersuchen. |
Vorteile
BigLake Metastore bietet mehrere Vorteile für die Datenverwaltung und -analyse:
- Serverlose Architektur. BigLake Metastore bietet eine serverlose Architektur, sodass keine Server- oder Clusterverwaltung erforderlich ist. Das trägt dazu bei, den betrieblichen Aufwand zu reduzieren, die Bereitstellung zu vereinfachen und eine automatische Skalierung nach Bedarf zu ermöglichen.
- Interoperabilität von Engines: BigLake Metastore bietet Ihnen direkten Tabellenzugriff über Open-Source-Engines (z. B. Spark und Flink) und BigQuery hinweg. So können Sie Tabellen im offenen Format ohne zusätzliche Konfiguration abfragen. Sie können beispielsweise eine Tabelle in Spark erstellen und sie dann direkt in BigQuery abfragen. So können Sie Ihren Analyse-Workflow optimieren und die Notwendigkeit komplexer Datenübertragungs- oder ETL-Prozesse verringern.
Einheitliche Nutzererfahrung: BigLake Metastore bietet einen einheitlichen Workflow für BigQuery und Open-Source-Engines. Das bedeutet, dass Sie eine selbst gehostete oder von Dataproc gehostete Spark-Umgebung über den Iceberg-REST-Katalog (Vorschau) konfigurieren können. Alternativ können Sie eine Spark-Umgebung in einem BigQuery Studio-Notebook konfigurieren, um dasselbe zu tun.
In BigQuery Studio können Sie beispielsweise mit einem BigQuery Studio-Notebook eine Tabelle in Spark erstellen.
Anschließend können Sie dieselbe Spark-Tabelle in derGoogle Cloud -Konsole abfragen.
Tabellenformate in BigLake Metastore
BigLake unterstützt verschiedene Tabellentypen. Anhand der folgenden Tabelle können Sie das Format auswählen, das am besten zu Ihrem Anwendungsfall passt:
Externe Tabellen | BigLake Iceberg-Tabellen | BigLake-Iceberg-Tabellen in BigQuery | Standard-BigQuery-Tabellen | |
---|---|---|---|---|
Metastore | Externer oder selbst gehosteter Metastore | BigLake Metastore | BigLake Metastore | BigLake Metastore |
Speicherplatz | Cloud Storage / Amazon S3 / Azure | Cloud Storage | Cloud Storage | BigQuery |
Verwaltung | Kunde oder Drittanbieter | Google (stark verwaltete Umgebung) | Google (am meisten verwaltete Erfahrung) | |
Lesen / Schreiben |
Open-Source-Engines (Lesen/Schreiben) BigQuery (schreibgeschützt) |
Open-Source-Engines (Lesen/Schreiben) BigQuery (schreibgeschützt) |
Open-Source-Engines (nur Lesezugriff mit Iceberg-Bibliotheken, Lese-/Schreibkompatibilität mit BigQuery Storage API) BigQuery (Lese-/Schreibzugriff) |
Open-Source-Engines (Lese-/Schreibkompatibilität mit der BigQuery Storage API) BigQuery (Lesen/Schreiben) |
Use cases | Migrationen, Staging-Tabellen für BigQuery-Ladevorgänge, Selbstverwaltung | Offenes Lakehouse | Offenes Lakehouse, Speicher auf Unternehmensniveau für Analysen, Streaming und KI | Speicher auf Unternehmensniveau für Analysen, Streaming und KI |
Unterschiede zu BigLake Metastore (klassisch)
BigLake Metastore ist der empfohlene Metastore für Google Cloud.
Die wichtigsten Unterschiede zwischen BigLake Metastore und BigLake Metastore (klassisch) sind:
- BigLake Metastore (klassisch) ist ein eigenständiger Metastore-Dienst, der sich von BigQuery unterscheidet und nur Iceberg-Tabellen unterstützt. Es verwendet ein anderes dreiteiliges Ressourcenmodell. BigLake-Metastore-Tabellen (klassisch) werden nicht automatisch in BigQuery erkannt.
- Auf Tabellen in BigLake Metastore kann über mehrere Open-Source-Engines und BigQuery zugegriffen werden. BigLake Metastore unterstützt die direkte Einbindung in Spark, was die Redundanz beim Speichern von Metadaten und Ausführen von Jobs verringert. BigLake Metastore unterstützt auch den Iceberg REST Catalog (Vorschau), der Lakehouse-Daten über mehrere Runtimes hinweg verbindet.
Beschränkungen
Für Tabellen in BigLake Metastore gelten die folgenden Einschränkungen:
- Sie können keine BigLake Metastore-Tabellen mit DDL- oder DML-Anweisungen mit der BigQuery-Engine erstellen oder ändern. Sie können BigLake-Metastore-Tabellen mit der BigQuery API (mit dem bq-Befehlszeilentool oder Clientbibliotheken) ändern. Dabei besteht jedoch das Risiko, dass Sie Änderungen vornehmen, die mit der externen Engine nicht kompatibel sind.
- BigLake Metastore-Tabellen unterstützen keine Umbenennungsvorgänge oder
ALTER TABLE ... RENAME TO
Spark SQL-Anweisungen. - Für BigLake Metastore-Tabellen gelten dieselben Kontingente und Limits wie für Standardtabellen.
- Die Abfrageleistung für BigLake-Metastore-Tabellen über die BigQuery-Engine ist möglicherweise geringer als bei der Abfrage von Daten in einer BigQuery-Standardtabelle. Im Allgemeinen sollte die Abfrageleistung bei einer BigLake Metastore-Tabelle der Leistung beim Lesen der Daten direkt aus Cloud Storage entsprechen.
- Bei einem Probelauf einer Abfrage, die eine BigLake-Metastore-Tabelle verwendet, kann eine Untergrenze von 0 Byte an Daten gemeldet werden, auch wenn Zeilen zurückgegeben werden. Der Grund dafür ist, dass die von der Tabelle verarbeitete Datenmenge erst nach Abschluss der eigentlichen Abfrage bestimmt werden kann. Für die Ausführung der Abfrage fallen Kosten für die Verarbeitung dieser Daten an.
- Sie können in einer Abfrage mit einer Platzhaltertabelle nicht auf eine BigLake Metastore-Tabelle verweisen.
- Sie können die
tabledata.list
-Methode nicht verwenden, um Daten aus BigLake Metastore-Tabellen abzurufen. Stattdessen können Sie Abfrageergebnisse in einer Zieltabelle speichern und dann die Methodetabledata.list
für diese Tabelle verwenden. - BigLake Metastore-Tabellen unterstützen kein Clustering.
- BigLake Metastore-Tabellen unterstützen keine flexiblen Spaltennamen.
- Die Anzeige von Tabellenspeicherstatistiken für BigLake Metastore-Tabellen wird nicht unterstützt.
Nächste Schritte
- Dataproc Metastore-Daten zu BigLake Metastore migrieren
- BigLake Metastore mit Dataproc verwenden
- BigLake Metastore mit Dataproc Serverless verwenden