Beim Abfragen einer Tabelle werden Daten aus den zugrunde liegenden Cloud Storage-Dateien mithilfe der Metadaten gelesen, die vom Lakehouse-Laufzeitkatalog verwaltet werden.
Sie können Abfragen aus Open-Source-Engines wie Spark und Trino oder direkt aus BigQuery mit einer vierteiligen Tabellennamensyntax (P.C.N.T-Syntax) ausführen.
Hinweis
-
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.
-
Aktivieren Sie die BigLake API, falls sie noch nicht aktiviert ist.
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 Credential Vending Mode lesen:
BigLake Viewer (
roles/biglake.viewer) – das Projekt -
Tabellendaten im Modus ohne Bereitstellung von Anmeldedaten lesen:
- BigLake Viewer (
roles/biglake.viewer): das Projekt - Storage-Objekt-Betrachter (
roles/storage.objectViewer) – der Cloud Storage-Bucket
- BigLake Viewer (
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 Opt-in-Funktionen zu kennen. Weitere Informationen zur Verwendung von Apache Iceberg-Tabellen finden Sie unter Übersicht über Apache Iceberg-Tabellen.
Unterstützte Iceberg-Tabellen
Es werden nur Apache Iceberg-Tabellen der Version 2 (GA) und Version 3 (Vorschau) unterstützt. Iceberg V1-Tabellen werden nicht unterstützt. Informationen zum Aktualisieren vorhandener V1-Tabellen finden Sie unter Iceberg-V1-Tabellen auf V2 aktualisieren.
Tabellenoptionen verwenden (Vorabversion)
Sie können die verwalteten BigQuery-Funktionen wie die BigQuery-Datenbearbeitungssprache (DML) und die automatische Tabellenverwaltung aktivieren, indem Sie bestimmte Tabelleneigenschaften konfigurieren. Diese Funktionen werden je nach Ort, an dem die Tabelle erstellt wird, unterschiedlich aktiviert:
- Aus BigQuery:BigQuery-DML und die automatische Tabellenverwaltung sind standardmäßig aktiviert.
- Von Open-Source-Engines:Wenn Sie diese Option aktivieren möchten, müssen Sie Tabelleneigenschaften explizit konfigurieren. Weitere Informationen finden Sie unter Tabellenoptionen konfigurieren.
Wenn Sie Tabellen aus BigQuery abfragen, können Sie auf Standard-Iceberg-Tabellen sowie auf Tabellen zugreifen, die für von BigQuery verwaltete Funktionen aktiviert sind. Eine ausführliche Anleitung finden Sie unter Tabellenoptionen 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 in Ihrer Abfrage den vierteiligen Tabellennamen 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: DasGoogle Cloud -Projekt, zu dem der Katalog im Lakehouse-Laufzeitkatalog gehört. Das ausgewählteGoogle Cloud -Projekt in der Google Cloud -Console wird für die Abfrage abgerechnet.CATALOG_ID: Die ID des Lakehouse-Laufzeitkatalogs, der beim Erstellen des Katalogs angegeben wurde. Diese Kennung wird als Katalognamen in BigQuery-Abfragen verwendet.Diese Kennung ist auch der Name Ihres Cloud Storage-Bucket.
Wenn Sie beispielsweise einen Bucket zum Speichern Ihres Katalogs erstellt und ihn
iceberg-bucketgenannt haben, lauten sowohl der Katalogname als auch der Bucket-Nameiceberg-bucket. Diese wird später verwendet, wenn Sie Ihren Katalog in BigQuery mit der PCNT-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 der Zeitreisefunktion
Sie können Verlaufsdaten aus Ihren verwalteten Apache Iceberg-Tabellen mithilfe von Zeitreisen abfragen. Sie können Zeitreisen in BigQuery mit der Klausel FOR
SYSTEM_TIME AS OF oder in Open-Source-Engines wie Spark mit Snapshot-IDs, Zeitstempeln, Tags oder Branches durchführen.
Nach Zeitstempel suchen
So fragen Sie Daten ab 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';
Nach Snapshot-ID suchen
So fragen Sie Daten anhand 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 ab 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';
Nach Zweig abfragen
So erstellen Sie einen Branch und fragen Daten ab diesem Branch 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';