Daten in eine Tabelle einfügen

Beim Einfügen von Daten werden Ihrer Apache Iceberg-Tabelle neue Datensätze angehängt.

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 Einfügen von Daten in eine Tabelle benötigen:

  • Tabellendaten im Credential Vending Mode schreiben: BigLake-Editor (roles/biglake.editor) – das Projekt
  • Tabellendaten im Modus ohne Bereitstellung von Anmeldedaten schreiben:
    • 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.

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.

Daten in die Tabelle einfügen

Fügen Sie Beispieldaten in die Tabelle ein.

Wenn Sie Daten aus BigQuery einfügen möchten, muss für die Tabelle BigQuery DML aktiviert sein (gcp.biglake.bigquery-dml.enabled = true). Eine detaillierte Anleitung finden Sie unter Tabellenoptionen konfigurieren.

Spark

spark.sql("INSERT INTO TABLE_NAME VALUES (1, \"first row\"), (2, \"second row\"), (3, \"third row\");")

Wenn Sie die Lese-/Schreib-Interoperabilität und Tabellenverwaltung (Vorabversion) 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

INSERT INTO TABLE_NAME VALUES (1, 'first row'), (2, 'second row'), (3, 'third row');

Wenn Sie die Lese-/Schreibinteroperabilitä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'
)

BigQuery

Wenn Sie Daten aus BigQuery in eine Apache Iceberg-Tabelle im Lakehouse-Laufzeitkatalog einfügen möchten, muss für die Tabelle BigQuery DML aktiviert sein. Verwenden Sie die folgende GoogleSQL-Anweisung INSERT:

INSERT INTO `PROJECT_ID.CATALOG_ID.NAMESPACE.TABLE_NAME` VALUES (1, "foo");

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Google CloudProjekt-ID.
  • CATALOG_ID: Ihre Lakehouse-Laufzeitkatalog-ID.
  • NAMESPACE: Der Name Ihres Iceberg-Namespace.
  • TABLE_NAME: Der Name Ihrer Iceberg-Tabelle.

Nächste Schritte