Tabelle registrieren

Durch das Registrieren einer vorhandenen Apache Iceberg-Tabelle werden ihre Metadaten in den Lakehouse-Laufzeitkatalog eingebunden. Dadurch sind die Tabellendaten für Abfragen und die Verwaltung in einem Namespace verfügbar. Dieser Vorgang unterscheidet sich von der Tabellenerstellung, bei der eine neue, leere Tabellenstruktur und der zugehörige Speicher initialisiert werden.

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

  • Tabelle registrieren:
    • 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.

Tabelle registrieren

Registrieren Sie eine vorhandene Iceberg-Tabelle.

gcloud

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

gcloud biglake iceberg tables register TABLE_NAME \
    --project="PROJECT_ID" \
    --catalog="CATALOG_ID" \
    --namespace="NAMESPACE_NAME" \
    --metadata-location="METADATA_LOCATION" \
    [--overwrite]

Ersetzen Sie Folgendes:

  • TABLE_NAME: der Name, der der registrierten Tabelle zugewiesen werden soll.
  • PROJECT_ID: die Google Cloud Projekt-ID.
  • CATALOG_ID: die Katalog-ID.
  • NAMESPACE_NAME: der Namespace-Name des Katalogs.
  • METADATA_LOCATION: der Cloud Storage-URI der neuesten Metadaten-JSON-Datei für die Tabelle, z. B. gs://my-bucket/path/to/metadata/00001.metadata.json.
  • --overwrite: (Optional) Überschreibt die Tabelle, falls sie bereits vorhanden ist.

REST

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

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

Der Anfragetext muss eine JSON-Nutzlast mit der folgenden Struktur enthalten:

{
  "name": "TABLE_NAME",
  "metadata-location": "METADATA_LOCATION",
  "overwrite": OVERWRITE
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die Google Cloud Projekt-ID.
  • CATALOG_ID: die Katalog-ID.
  • NAMESPACE_NAME: der Namespace-Name des Katalogs.
  • TABLE_NAME: der Name der registrierten Tabelle.
  • METADATA_LOCATION: der Cloud Storage-URI der neuesten Metadaten-JSON-Datei für die Tabelle.
  • OVERWRITE: true, um die Tabelle zu überschreiben, falls sie vorhanden ist, andernfalls false.

Nächste Schritte