Einführung in den BigQuery-Metastore
Der BigQuery-Metastore ist ein vollständig verwalteter Metastore für Datenanalyseprodukte auf Google Cloud. Es bietet eine zentrale Informationsquelle für die Verwaltung von Metadaten aus mehreren Quellen. Der Metastore ist über BigQuery und verschiedene offene Datenverarbeitungs-Engines zugänglich und daher ein nützliches Tool für Datenanalysten und Entwickler.
Sie können beispielsweise den BigQuery Metastore als Katalog mit Open-Source-Abfrage-Engines wie Apache Spark verwenden. Mit Spark erstellte Tabellen können mit BigQuery abgefragt werden, ohne dass Sie Ihre Metadaten synchronisieren müssen.
Vorteile
Der BigQuery-Metastore bietet mehrere Vorteile für die Datenverwaltung und -analyse:
- Serverlose Architektur. Der BigQuery-Metastore bietet eine serverlose Architektur, sodass keine Server- oder Clusterverwaltung erforderlich ist. Dies trägt dazu bei, den operativen Aufwand zu reduzieren, die Bereitstellung zu vereinfachen und eine automatische Skalierung nach Bedarf zu ermöglichen.
- Engine-Interoperabilität Der BigQuery-Metastore bietet direkten Tabellenzugriff in BigQuery. So können Sie Tabellen im offenen Format, die in BigQuery gespeichert sind, 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übertragungen oder ETL-Prozesse reduzieren.
Einheitliche Nutzererfahrung BigQuery Metastore bietet einen einheitlichen Workflow für BigQuery und BigQuery Studio. So können Sie Spark direkt in BigQuery und BigQuery Studio verwenden. Beispiel:
Sie können zuerst eine Tabelle in Spark mit einem BigQuery Studio-Notebook erstellen.
Als Nächstes können Sie dieselbe Spark-Tabelle in der Google Cloud Console abfragen.
Unterstützte Einbindungen
Sie können den BigQuery-Metastore mit der Google Cloud Console, der gcloud CLI oder den BigQuery REST APIs verwenden.
Der BigQuery-Metastore unterstützt die folgenden Integrationen:
- Tabellenformate Apache Iceberg 1.5.2 oder höher
- Dataproc Version 2.2 oder höher
- Datenverarbeitungs-Engines Spark-Version 3.3 oder höher
- Plug-ins BigQuery Metastore Iceberg-Katalog-Plug-in
Unterschiede zu BigLake Metastore
Der BigQuery-Metastore ist der empfohlene Metastore für Google Cloud.
Die wichtigsten Unterschiede zwischen dem BigQuery-Metastore und dem BigLake-Metastore sind:
BigLake Metastore ist ein eigenständiger Metastore-Dienst, der sich von BigQuery unterscheidet und nur Iceberg-Tabellen unterstützt. Es hat ein anderes dreiteiliges Ressourcenmodell. Tabellen in BigLake werden nicht automatisch in BigQuery erkannt.
Der BigQuery-Metastore basiert auf dem BigQuery-Katalog und lässt sich direkt in BigQuery einbinden. Tabellen im BigQuery Metastore können von mehreren Open-Source-Engines geändert werden und dieselben Tabellen können über BigQuery abgefragt werden. Wenn Sie BigQuery verwenden, gibt es nur eine einzige Quelle für Ihre Metadaten. Der BigQuery-Metastore unterstützt beispielsweise die direkte Einbindung in Spark. Diese Integration sorgt für einen reibungsloseren Workflow und hilft, Redundanzen beim Speichern von Metadaten und Ausführen von Jobs zu reduzieren.
Beschränkungen
Für BigQuery-Metastore-Tabellen gelten die folgenden Einschränkungen:
- Mit der BigQuery-Engine können Sie keine BigQuery-Metastore-Tabellen mit DDL- oder DML-Anweisungen erstellen oder ändern. Sie können BigQuery-Metastore-Tabellen mit der BigQuery API (mit dem bq-Befehlszeilentool oder Clientbibliotheken) ändern. Dabei besteht jedoch das Risiko, dass Änderungen vorgenommen werden, die nicht mit der externen Engine kompatibel sind.
- BigQuery-Metastore-Tabellen unterstützen keine Umbenennungsvorgänge oder
ALTER TABLE ... RENAME TO
Spark SQL-Anweisungen. - Für BigQuery-Metastore-Tabellen gelten dieselben Kontingente und Limits wie für Standardtabellen.
- Die Abfrageleistung für BigQuery-Metastore-Tabellen aus der BigQuery-Engine ist mitunter langsamer als bei der Abfrage von Daten in einer BigQuery-Standardtabelle. Im Allgemeinen sollte die Abfrageleistung bei einer BigQuery-Metadatenbanktabelle der Leistung beim Auslesen der Daten direkt aus Cloud Storage entsprechen.
- Ein Probelauf einer Abfrage, die eine BigQuery-Metadatenbanktabelle verwendet, kann eine Untergrenze von 0 Byte an Daten melden, auch wenn Zeilen zurückgegeben werden. Das liegt daran, dass die Menge der aus der Tabelle verarbeiteten Daten erst nach Abschluss der eigentlichen Abfrage bestimmt werden kann. Für die Ausführung der Abfrage fallen weiterhin Kosten für die Verarbeitung dieser Daten an.
- In einer Abfrage mit einer Platzhaltertabelle kann keine BigQuery-Metadatenbanktabelle referenziert werden.
- Mit der Methode
tabledata.list
können keine Daten aus BigQuery-Metastore-Tabellen abgerufen werden. Stattdessen können Sie Abfrageergebnisse in einer Zieltabelle speichern und dann die Methodetabledata.list
auf diese Tabelle anwenden. - BigQuery-Metastore-Tabellen unterstützen kein Clustering.
- BigQuery-Metastore-Tabellen unterstützen keine flexiblen Spaltennamen.
- Die Anzeige von Tabellenspeicherstatistiken für BigQuery-Metastore-Tabellen wird nicht unterstützt.
Nächste Schritte
- Dataproc Metastore-Daten in den BigQuery-Metastore migrieren
- BigQuery-Metastore mit Dataproc verwenden
- BigQuery-Metastore mit Dataproc Serverless verwenden