Beim Abfragen einer Tabelle werden Daten aus den zugrunde liegenden Cloud Storage-Dateien mit den Metadaten gelesen, die vom Lakehouse-Laufzeitkatalog verwaltet werden.
Sie können Abfragen über Open-Source-Engines wie Spark und Trino oder direkt über BigQuery mit einer vierteiligen Tabellennamensyntax (P.C.N.T-Syntax) ausführen.
Hinweis
-
Prüfen Sie, ob für Ihr Google Cloud Projekt die Abrechnung aktiviert ist.
-
Aktivieren Sie die BigLake API.
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die Berechtigung
serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen. - Richten Sie den Lakehouse-Laufzeitkatalog mit dem Apache Iceberg-REST-Katalogendpunkt ein.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt und Ihren Speicher-Bucket zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Abfragen einer Tabelle benötigen:
-
Tabellendaten im Modus „Anmeldedaten bereitstellen“ lesen:
BigLake-Betrachter (
roles/biglake.viewer) – das Projekt -
Tabellendaten im Modus „Anmeldedaten nicht bereitstellen“ lesen:
- BigLake-Betrachter (
roles/biglake.viewer) – das Projekt - Storage Object Viewer (
roles/storage.objectViewer) – der Cloud Storage-Bucket
- BigLake-Betrachter (
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Tabellenfunktionen und -unterstützung
Wenn Sie Tabellen im Lakehouse-Laufzeitkatalog verwenden, ist es hilfreich, die verschiedenen Tabellentypen und ihre optionalen Funktionen zu verstehen . Weitere Informationen zur Verwendung von Apache Iceberg-Tabellen finden Sie unter Übersicht über Apache Iceberg Tabellen.
Unterstützte Iceberg-Tabellen
Nur Apache Iceberg V2-Tabellen (GA) und V3-Tabellen (Vorschau) werden unterstützt. Iceberg V1-Tabellen werden nicht unterstützt. Informationen zum Upgrade vorhandener V1-Tabellen finden Sie unter Iceberg V1 Tabellen auf V2 aktualisieren.
Tabellenoptionen verwenden (Vorschau)
Sie können bestimmte Tabelleneigenschaften konfigurieren, um BigQuery-verwaltete Funktionen wie die BigQuery-Datenbearbeitungssprache (DML) und die automatische Tabellenverwaltung zu verwenden. Diese Funktionen werden je nachdem, wo die Tabelle erstellt wird, auf unterschiedliche Weise aktiviert:
- Über BigQuery:BigQuery DML und die automatische Tabellenverwaltung sind standardmäßig aktiviert.
- Über Open-Source-Engines:Wenn Sie diese Funktionen verwenden möchten, müssen Sie die Tabelleneigenschaften explizit konfigurieren. Weitere Informationen finden Sie unter Tabellenoptionen konfigurieren.
Wenn Sie Tabellen aus BigQuery abfragen, können Sie sowohl auf Standard-Iceberg-Tabellen als auch auf Tabellen zugreifen, die für BigQuery-verwaltete Funktionen aktiviert sind. Eine detaillierte Anleitung finden Sie unter Tabellen optionen konfigurieren.
Tabelle abfragen
Alle Daten aus der Tabelle auswählen:
Spark
spark.sql("SELECT * FROM TABLE_NAME;").show()
Trino
SELECT * FROM TABLE_NAME;
BigQuery
Wenn Sie Apache Iceberg-Tabellen im
Lakehouse-Laufzeitkatalog aus BigQuery abfragen möchten, verwenden Sie
den vierteiligen Tabellennamen in Ihrer Abfrage im folgenden Format: PROJECT_NAME.CATALOG_ID.NAMESPACE_OR_SCHEMA_NAME.TABLE_NAME.
SELECT * FROM `PROJECT_NAME.CATALOG_ID.NAMESPACE_OR_SCHEMA_NAME.TABLE_NAME`;
Ersetzen Sie die folgenden Werte:
PROJECT_NAME: das Google Cloud Projekt, zu dem der Katalog im Lakehouse-Laufzeitkatalog gehört. Das ausgewählte Google Cloud Projekt in der Google Cloud Console wird für die Abfrage in Rechnung gestellt.CATALOG_ID: Die ID des Lakehouse-Laufzeitkatalogs, die beim Erstellen des Katalogs angegeben wurde. Diese ID wird in BigQuery-Abfragen als Katalogname verwendet.Diese ID ist auch der Name Ihres Cloud Storage-Bucket.
Wenn Sie beispielsweise Ihren Bucket zum Speichern Ihres Katalogs erstellt und ihn
iceberg-bucketgenannt haben, sind sowohl der Katalogname als auch der Bucketnameiceberg-bucket. Dieser Name wird später verwendet, wenn Sie Ihren Katalog in BigQuery mit der P.C.N.T-Syntax abfragen. Beispiel:my-project.catalog_id.quickstart_namespace.quickstart_table.NAMESPACE_OR_SCHEMA_NAME: Der Tabellen-Namespace, wenn Sie Spark verwenden, oder der Name des Tabellenschemas, wenn Sie Trino verwenden.TABLE_NAME: Der Name Ihrer Tabelle.
Abfrage mit Zeitreise
Sie können Verlaufsdaten aus Ihren Lakehouse Iceberg-Tabellen mit der Zeitreisefunktion abfragen. Sie können die Zeitreisefunktion in BigQuery mit der FOR
SYSTEM_TIME AS OF Klausel oder in Open-Source-Engines wie Spark mit Snapshot
IDs, Zeitstempeln, Tags oder Zweigen verwenden.
Abfrage nach Zeitstempel
So fragen Sie Daten zu einem bestimmten Zeitstempel ab:
Spark
SELECT * FROM NAMESPACE.TABLE_NAME TIMESTAMP AS OF '2026-02-26 01:21:00';
BigQuery
SELECT * FROM `PROJECT_ID.CATALOG_ID.NAMESPACE.TABLE_NAME` FOR SYSTEM_TIME AS OF '2026-02-26 01:21:00';
Abfrage nach Snapshot-ID
So fragen Sie Daten zu einer bestimmten Snapshot-ID ab:
Spark
SELECT * FROM NAMESPACE.TABLE_NAME VERSION AS OF 10963874102873;
Abfrage nach Tag
So erstellen Sie ein Tag und fragen Daten zu diesem Tag ab:
Spark
-- Create tag 'historical-snapshot'
ALTER TABLE NAMESPACE.TABLE_NAME CREATE TAG 'historical-snapshot' AS OF VERSION 123456789012345;
-- Query by tag
SELECT * FROM NAMESPACE.TABLE_NAME VERSION AS OF 'historical-snapshot';
Abfrage nach Zweig
So erstellen Sie einen Zweig und fragen Daten zu diesem Zweig ab:
Spark
-- Create branch 'audit-branch'
ALTER TABLE NAMESPACE.TABLE_NAME CREATE BRANCH 'audit-branch' AS OF VERSION 123456789012345;
-- Query by branch
SELECT * FROM NAMESPACE.TABLE_NAME VERSION AS OF 'audit-branch';
Nächste Schritte
- Tabelle ändern