Durch Konfigurieren von Tabellenoptionen können Sie die BigQuery-Schreibinteroperabilität oder die Tabellenverwaltung (automatische Speicheroptimierung) für Ihre Apache Iceberg-Tabellen im Lakehouse-Laufzeitkatalog aktivieren. Diese Optionen dienen als grundlegende Einstellungen, die die Möglichkeiten für Vorgänge in der Tabelle erweitern.
Durch Konfigurieren bestimmter Tabelleneigenschaften können Sie die Schreibinteroperabilität mit BigQuery DML oder die automatische Tabellenverwaltung (Speicheroptimierung) aktivieren.
Wenn Sie Tabellen im Lakehouse-Laufzeitkatalog verwenden, ist es hilfreich, die verschiedenen Tabellentypen und ihre Aktivierungsfunktionen zu kennen. Weitere Informationen zur Verwendung von Apache Iceberg-Tabellen finden Sie unter Übersicht über Apache Iceberg Tabellen.
Hinweis
-
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt 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-Laufzeit katalog 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 Konfigurieren von Tabellenoptionen benötigen:
-
Tabelleneigenschaften im Modus für die Bereitstellung von Anmeldedaten konfigurieren: BigLake Editor (
roles/biglake.editor) – das Projekt -
Tabelleneigenschaften im Modus ohne Bereitstellung von Anmeldedaten konfigurieren:
- BigLake Editor (
roles/biglake.editor) – das Projekt - Storage Object User (
roles/storage.objectUser) – der Cloud Storage-Bucket
- BigLake Editor (
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.
Konfigurationshinweise
Beachten Sie beim Konfigurieren von Tabellenoptionen die folgenden Anforderungen und Standardverhaltensweisen:
Unterstützte Iceberg-Tabellen
Es werden nur Apache Iceberg V2-Tabellen (GA) und V3-Tabellen (Vorschau) unterstützt. Iceberg V1-Tabellen werden nicht unterstützt. Informationen zum Upgrade vorhandener V1-Tabellen finden Sie unter Iceberg V1 Tabellen auf V2 upgraden.
Anforderung für die Bereitstellung von Anmeldedaten
Wenn Sie die automatische Tabellenverwaltung aktivieren möchten, muss die Bereitstellung von Anmeldedaten im Lakehouse-Laufzeitkatalog auf Katalogebene aktiviert sein. Hintergrundjobs für die Tabellenverwaltung verwenden das Dienstkonto für die Bereitstellung von Anmeldedaten, um sich zu authentifizieren und zugrunde liegende Speicherdatendateien zu aktualisieren.
BigQuery DML aktivieren
Durch Aktivieren von BigQuery-Datenbearbeitungssprachenanweisungen (Data Manipulation Language, DML) wird die Schreibinteroperabilität von BigQuery für Apache Iceberg-Tabellen ermöglicht, die mit Open-Source-Engines erstellt wurden.
Zu den unterstützten Anweisungen gehören INSERT, UPDATE, DELETE und MERGE, sowie Standard-DDL
Anweisungen wie
CREATE TABLE, ALTER TABLE und DROP TABLE, mit Ausnahme der Anweisungen, die
in Apache Iceberg-Tabellen in
BigQuery nicht unterstützt werden.
BigQuery DML für neue Tabellen aktivieren
Wenn Sie eine Tabelle erstellen aus
BigQuery, sind BigQuery DML und die automatische Tabellenverwaltung standardmäßig aktiviert. Wenn Sie eine Tabelle aus Open-Source-Engines erstellen, konfigurieren Sie die Tabelleneigenschaft gcp.biglake.bigquery-dml.enabled = true mit der DDL-Syntax Ihrer Engine.
Beispiel in Spark SQL :
CREATE TABLE NAMESPACE.TABLE_NAME (id int, data string)
USING ICEBERG
TBLPROPERTIES ('gcp.biglake.bigquery-dml.enabled' = true);
BigQuery DML für vorhandene Tabellen aktivieren
Wenn Sie BigQuery DML für eine vorhandene Tabelle aktivieren möchten, aktualisieren Sie die Tabelle eigenschaft.
Beispiel in Spark SQL :
ALTER TABLE NAMESPACE.TABLE_NAME
SET TBLPROPERTIES ('gcp.biglake.bigquery-dml.enabled' = true);
BigQuery DML deaktivieren
Wenn Sie BigQuery DML deaktivieren, ist die Tabelle für BigQuery schreibgeschützt und die automatische Tabellenverwaltung wird beendet.
Beispiel in Spark SQL :
ALTER TABLE NAMESPACE.TABLE_NAME
SET TBLPROPERTIES ('gcp.biglake.bigquery-dml.enabled' = false);
Tabellenverwaltung aktivieren
Die Tabellenverwaltung automatisiert Hintergrundprozesse, um den Speicher zu optimieren und den Lebenszyklus von Daten und Metadaten zu verwalten, z. B. Komprimierung und automatische Speicherbereinigung.
Mit der Tabellenverwaltung können Sie die folgenden Vorgänge ausführen: