Tabelle erstellen

Wenn Sie eine Apache Iceberg-Tabelle erstellen, 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 Cloud Storage-Bucket des Katalogs), indem die Namespace- und Tabellenkennungen angehängt werden.

Hinweis

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

  2. 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

    API aktivieren

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

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

Tabelle erstellen

Iceberg-Tabelle erstellen

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 als Tabellenformat die Option Iceberg aus.

  5. Geben Sie bei Tabellenname einen eindeutigen Tabellennamen ein.

  6. 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.

Wenn Sie die Lese-/Schreibkompatibilität und Tabellenverwaltung (Vorschau) aktivieren möchten, fügen Sie die Attribute der TBLPROPERTIES-Klausel hinzu:

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.

Wenn Sie die Lese-/Schreib-Interoperabilität und Tabellenverwaltung (Vorschau) aktivieren möchten, fügen Sie der WITH-Klausel die folgenden Attribute hinzu:

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

gcloud

Wenn Sie eine Tabelle mit gcloud erstellen möchten, führen Sie den gcloud biglake iceberg tables create-Befehl aus.

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: Projekt-ID in Google Cloud .
  • CATALOG_ID: Die ID Ihres Katalogs.
  • NAMESPACE_NAME: Der Name Ihres Katalognamespace.
  • TABLE_DEFINITION_FILE: Der Pfad zu einer JSON-Datei mit der Iceberg-Tabellendefinition.

BigQuery

Verwenden Sie die folgende GoogleSQL-CREATE TABLE-Anweisung, um eine Apache Iceberg-Tabelle im Lakehouse-Laufzeitkatalog aus BigQuery zu erstellen. Wenn Sie eine Tabelle in 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: Name Ihres Iceberg-Namespace
  • TABLE_NAME: Ein Name für Ihre Iceberg-Tabelle

REST

Wenn Sie eine Iceberg-Tabelle mit der REST API erstellen möchten, senden Sie eine POST-Anfrage an den Endpunkt CreateIcebergTable:

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, in der das Tabellenschema, die Partitionsspezifikation und die anfänglichen Attribute definiert sind.

Ersetzen Sie Folgendes:

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

Nächste Schritte