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 unter dem standardmäßigen Standort des Katalogs (abgeleitet vom Cloud Storage-Basisbucket des Katalogs), indem die Namespace- und Tabellenkennungen angehängt werden.
Zusätzlich zu den Integrationen der Abfrage-Engine implementiert der Lakehouse-Laufzeitkatalog die Open-Source-Iceberg-REST-Katalog-API-Spezifikation (POST /v1/{prefix}/namespaces/{namespace}/tables), sodass kompatible REST-Clients Tabellen direkt erstellen können.
Hinweis
In der Tabellenübersicht finden Sie Informationen zu den verschiedenen Arten von Tabellen und den Auswirkungen ihrer Verwendung.
-
Prüfen Sie, ob für Ihr Google Cloud Projekt die Abrechnung aktiviert ist.
-
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 Berechtigungserviceusage.services.enableenthält. Weitere Informationen zum Zuweisen von Rollen
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
- BigLake-Administrator (
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 erstellen
Iceberg-Tabelle erstellen
Console
Rufen Sie in der Google Cloud Console Lakehouse auf.
Wählen Sie einen vorhandenen Katalog aus oder erstellen Sie einen, falls Sie noch keinen haben.
Klicken Sie in der Menüleiste auf + Tabelle erstellen.
Wählen Sie als Tabellenformat die Option Iceberg aus.
Geben Sie unter Tabellenname einen eindeutigen Tabellennamen ein.
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;")
spark.sql("DESCRIBE NAMESPACE_NAME.TABLE_NAME").show()
Ersetzen Sie die folgenden Werte:
NAMESPACE_NAME: der Name Ihres NamespaceTABLE_NAME: Ein Name für Ihre Tabelle
Trino
CREATE TABLE SCHEMA_NAME.TABLE_NAME (id int, data varchar);
DESCRIBE SCHEMA_NAME.TABLE_NAME;
Ersetzen Sie die folgenden Werte:
SCHEMA_NAME: der Name Ihres SchemasTABLE_NAME: Ein Name für Ihre Tabelle
Wenn Sie die BigQuery-Katalogföderation mit Trino verwenden, können Sie keinen Standort für die Tabelle angeben. Der standardmäßige Standort des Schemas wird immer verwendet.
REST
Wenn Sie eine Iceberg-Tabelle mit der REST API erstellen möchten, senden Sie eine POST-Anfrage an den CreateIcebergTable-Endpunkt:
POST /iceberg/v1/restcatalog/v1/projects/PROJECT_ID/catalogs/CATALOG_ID/namespaces/NAMESPACE_NAME/tables
Der Anfragetext muss eine gültige Iceberg-CreateTableRequest-JSON-Nutzlast enthalten, die das Tabellenschema, die Partitionsspezifikation und die anfänglichen Attribute definiert.
Ersetzen Sie Folgendes:
PROJECT_ID: Projekt-ID in Google Cloud .CATALOG_ID: die ID Ihres Lakehouse-Laufzeitkatalogs.NAMESPACE_NAME: Der Name Ihres Katalognamespace.