Tabelle ändern

Wenn Sie eine Tabelle ändern, können Sie das Schema weiterentwickeln (z. B. Spalten hinzufügen) und die Metadateneigenschaften der Tabelle aktualisieren.

Änderungen werden über den Lakehouse-Laufzeitkatalog verwaltet und über die Open-Source-Iceberg-REST-Katalog-API-Spezifikation (POST /v1/{prefix}/namespaces/{namespace}/tables/{table} für CommitTable/UpdateIcebergTable) übernommen.

Hinweis

In der Tabellenübersicht finden Sie Informationen zu den verschiedenen Arten von Tabellen und den Auswirkungen ihrer Verwendung.

  1. Prüfen Sie, ob für Ihr Google Cloud Projekt die Abrechnung aktiviert ist.

  2. Aktivieren Sie die BigLake API.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Weitere Informationen zum Zuweisen von Rollen

    API aktivieren

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt und den Speicher-Bucket zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ändern einer Tabelle benötigen:

  • Tabelle im Modus für die Bereitstellung von Anmeldedaten ändern: BigLake Editor (roles/biglake.editor) – das Projekt
  • Tabelle im Modus für die Bereitstellung von Anmeldedaten ändern:
    • BigLake Editor (roles/biglake.editor): das Projekt
    • Storage Object User (roles/storage.objectUser) – der Cloud Storage-Bucket

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.

Tabelle ändern

So fügen Sie der Tabelle eine Spalte hinzu:

Console

  1. Rufen Sie in der Google Cloud Console Lakehouse auf.

    Lakehouse aufrufen

  2. Wählen Sie einen vorhandenen Katalog aus oder erstellen Sie einen, falls Sie noch keinen haben.

  3. Wählen Sie in der Tabelle Namespace details (Namespace-Details) eine Tabelle aus und maximieren Sie die Menüoptionen.

  4. Klicken Sie auf Bearbeiten.

  5. Aktualisieren Sie die Tabellenwerte im Dialogfeld.

  6. Klicken Sie auf Speichern.

Spark

spark.sql("ALTER TABLE TABLE_NAME ADD COLUMNS ( desc string);")
spark.sql("DESCRIBE NAMESPACE_NAME.TABLE_NAME").show()

Trino

ALTER TABLE TABLE_NAME ADD COLUMN desc varchar;
DESCRIBE SCHEMA_NAME.TABLE_NAME;

REST

Wenn Sie Änderungen an einer Iceberg-Tabelle mit der REST API committen möchten, senden Sie eine POST-Anfrage an den Endpunkt UpdateIcebergTable (CommitTable):

POST /iceberg/v1/restcatalog/v1/projects/PROJECT_ID/catalogs/CATALOG_ID/namespaces/NAMESPACE_NAME/tables/TABLE_NAME

Der Anfragetext muss eine gültige Iceberg-CommitTableRequest-JSON-Nutzlast enthalten, in der die grundlegende Anforderung und die Liste der anzuwendenden Metadatenaktualisierungen definiert sind.

Ersetzen Sie Folgendes:

  • PROJECT_ID: Projekt-ID in Google Cloud .
  • CATALOG_ID: die ID Ihres Lakehouse-Laufzeitkatalogs.
  • NAMESPACE_NAME: Der Name Ihres Katalognamespace.
  • TABLE_NAME: Der Name Ihrer Iceberg-Tabelle.

Nächste Schritte