Tabelle erstellen

Beim Erstellen einer Apache Iceberg-Tabelle werden die Tabellenmetadaten in einem Namespace im Lakehouse-Laufzeitkatalog registriert.

Wenn Sie beim Erstellen der Tabelle keinen expliziten Speicherort auf Namespace- oder Tabellenebene angeben, erstellt das System automatisch die Metadaten- und Datenverzeichnisse der Tabelle am standardmäßigen Standort des Katalogs (abgeleitet vom Basis-Cloud Storage-Bucket des Katalogs), indem es die Namespace- und Tabellen-IDs anhängt.

Hinweis

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

  2. Aktivieren Sie die BigLake API.

    Erforderliche Rollen zum Aktivieren von APIs

    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.

    API aktivieren

  3. Richten Sie den Lakehouse-Laufzeitkatalog ein mit dem Apache Iceberg REST-Katalogendpunkt.

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 Erstellen einer Tabelle benötigen:

  • Alle:
    • BigLake-Administrator (roles/biglake.admin) – Ihr Projekt
    • Storage-Administrator (roles/storage.admin) – der Ziel-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.

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- (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 auf unterschiedliche Weise aktiviert, je nachdem, wo die Tabelle erstellt wird:

  • Aus BigQuery: BigQuery DML und die automatische Tabellenverwaltung sind standardmäßig aktiviert.
  • Aus Open-Source-Engines: Wenn Sie diese Funktionen verwenden möchten, müssen Sie die Tabelleneigenschaften explizit konfigurieren. Weitere Informationen finden Sie unter Tabellenoptionen konfigurieren.

Tabelle erstellen

Erstellen Sie eine Iceberg-Tabelle.

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. Klicken Sie in der Menüleiste auf + Tabelle erstellen.

  4. Wählen Sie unter Tabellenformat die Option Iceberg aus.

  5. Geben Sie unter Tabellenname einen eindeutigen Namen für die Tabelle ein.

  6. Optional: Konfigurieren Sie im Bereich Eigenschaften die Tabelleneigenschaften. Vordefinierte Eigenschaften wie gcp.biglake.bigquery-dml.enabled und gcp.biglake.table-management.enabled werden aufgeführt.

    Sie können diese Werte beispielsweise in true ändern, um BigQuery DML oder die automatische Tabellenverwaltung zu aktivieren. Weitere Informationen finden Sie unter Tabellenoptionen konfigurieren.

  7. Klicken Sie auf Erstellen.

Ihre Tabelle wird auf der Seite Namespace-Details angezeigt.

Spark

spark.sql("CREATE TABLE NAMESPACE_NAME.TABLE_NAME (id int, data string) USING ICEBERG;")

Ersetzen Sie die folgenden Werte:

  • NAMESPACE_NAME: Der Name Ihres Namespace.
  • TABLE_NAME: Ein Name für Ihre Tabelle.

Fügen Sie die Eigenschaften der Klausel TBLPROPERTIES hinzu, um die Lese-/Schreibinteroperabilität und die Tabellenverwaltung (Vorschau) zu aktivieren:

TBLPROPERTIES (
  'gcp.biglake.bigquery-dml.enabled' = true,
  'gcp.biglake.table-management.enabled' = true
)

Trino

CREATE TABLE SCHEMA_NAME.TABLE_NAME (id int, data varchar);

Ersetzen Sie die folgenden Werte:

  • SCHEMA_NAME: Der Name Ihres Schemas.
  • TABLE_NAME: Ein Name für Ihre Tabelle.

Fügen Sie diese Eigenschaften der Klausel WITH hinzu, um die Lese-/Schreibinteroperabilität und die Tabellenverwaltung (Vorschau) zu aktivieren:

WITH (
  "gcp.biglake.bigquery-dml.enabled" = 'true',
  "gcp.biglake.table-management.enabled" = 'true'
)

gcloud

Führen Sie den gcloud biglake iceberg tables create Befehl aus, um eine Tabelle mit gcloud zu erstellen.

gcloud biglake iceberg tables create \
    --project="PROJECT_ID" \
    --catalog="CATALOG_ID" \
    --namespace="NAMESPACE_NAME" \
    --create-from-file="TABLE_DEFINITION_FILE"

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Google Cloud Projekt-ID.
  • CATALOG_ID: Die ID Ihres Katalogs.
  • NAMESPACE_NAME: Der Name Ihres Katalognamespace.
  • TABLE_DEFINITION_FILE: Der Pfad zu einer JSON-Datei, die die Iceberg-Tabellendefinition enthält.

BigQuery

Verwenden Sie die folgende GoogleSQL-Anweisung CREATE TABLE, um eine Apache Iceberg-Tabelle im Lakehouse-Laufzeitkatalog aus BigQuery zu erstellen. Wenn Sie eine Tabelle aus BigQuery erstellen, sind BigQuery DML und die automatische Tabellenverwaltung standardmäßig aktiviert.

CREATE TABLE `PROJECT_ID.CATALOG_ID.NAMESPACE.TABLE_NAME` (id int, data string);

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Google Cloud Projekt-ID
  • CATALOG_ID: Ihre Lakehouse-Laufzeitkatalog-ID
  • NAMESPACE: Der Name Ihres Iceberg-Namespace
  • TABLE_NAME: Ein Name für Ihre Iceberg-Tabelle

REST

Senden Sie eine POST Anfrage an den CreateIcebergTable Endpunkt, um eine Iceberg-Tabelle mit der REST API zu erstellen:

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

Der Anfragetext muss eine gültige Iceberg-JSON-Nutzlast CreateTableRequest enthalten, die das Tabellenschema, die Partitionsspezifikation und die anfänglichen Eigenschaften definiert.

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Google Cloud Projekt-ID.
  • CATALOG_ID: Die ID Ihres Katalogs.
  • NAMESPACE_NAME: Der Name Ihres Katalognamespace.

Nächste Schritte