Lakehouse Iceberg-REST-Katalogendpunkt einrichten

Für neue Kataloge empfehlen wir die Verwendung des Apache Iceberg REST-Katalogendpunkts im Lakehouse-Laufzeitkatalog. Dieser Endpunkt bietet eine vollständig verwaltete, standardisierte Schnittstelle, die auf der Open-Source-Apache Iceberg REST Catalog API basiert.

Dieser Endpunkt dient als zentrale Informationsquelle und ermöglicht eine nahtlose Interoperabilität zwischen Ihren Abfrage-Engines. Damit können Engines wie Apache Spark Ihre Google Cloud Lakehouse-Tabellen erkennen, lesen und verwalten.

Dieser Ansatz ist eine gute Wahl, wenn Sie kompatible OSS- oder Drittanbieter-Engines für den Zugriff auf Daten in Cloud Storage verwenden und Interoperabilität mit anderen Engines, einschließlich BigQuery, benötigen. Es unterstützt Funktionen wie Credential Vending für eine detaillierte Zugriffssteuerung sowie regionenübergreifende Replikation und Notfallwiederherstellung.

Im Gegensatz dazu ist der benutzerdefinierte Apache Iceberg-Katalog für BigQuery-Endpunkt eine frühere Integration. Vorhandene Workflows können weiterhin darauf zugreifen, aber der REST-Katalog bietet eine standardisierte und funktionsreiche Umgebung.

Hinweis

Machen Sie sich mit dem Lakehouse-Laufzeitkatalog und der Übersicht über Iceberg-REST-Katalogendpunkte vertraut, bevor Sie fortfahren.

Wenn Sie vorhandene Apache Iceberg-Tabellen der Version 1 (V1) haben, müssen Sie sie aktualisieren, bevor Sie sie mit dem Apache Iceberg-REST-Katalogendpunkt verwenden können. Weitere Informationen finden Sie unter Iceberg-Tabellen der Version 1 auf Version 2 aktualisieren.

  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

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwenden des Apache Iceberg REST-Katalogendpunkts im Lakehouse-Laufzeitkatalog benötigen:

  • Administrativen Aufgaben ausführen, z. B. den Nutzerzugriff auf den Katalog, den Speicherzugriff und den Modus für die Bereitstellung von Anmeldedaten des Katalogs verwalten:
  • Tabellen in einem Lakehouse-Katalog registrieren: BigLake-Administrator (roles/biglake.admin) für das Projekt.
  • Tabellendaten im Credential Vending-Modus lesen: BigLake-Betrachter (roles/biglake.viewer) für das Projekt. Wenn Sie Abfrage-Engines wie Managed Service for Apache Spark, Managed Service for Apache Spark oder Dataflow zum Lesen von Tabellendaten verwenden, weisen Sie dem Dienstkonto, mit dem Sie Jobs in dieser Engine ausführen, diese Rolle zu.
  • Tabellendaten im Credential Vending-Modus schreiben: BigLake-Editor (roles/biglake.editor) für das Projekt. Wenn Sie Abfrage-Engines wie Managed Service for Apache Spark, Managed Service for Apache Spark oder Dataflow zum Schreiben von Tabellendaten verwenden, weisen Sie diese Rolle dem Dienstkonto zu, mit dem Sie Jobs in dieser Engine ausführen.
  • Verwenden Sie das automatisch bereitgestellte Dienstkonto des Lakehouse-Laufzeitkatalogs im Credential Vending-Modus mit der Rolle Storage Object User (roles/storage.objectUser) für alle zugehörigen Cloud Storage-Buckets. Nachdem Sie den Katalog erstellt haben, weisen Sie dem automatisch bereitgestellten Dienstkonto des Lakehouse-Laufzeitkatalogs die Rolle „Storage Object User“ (roles/storage.objectUser) für alle zugehörigen Storage-Buckets zu.
  • Katalogressourcen und Tabellendaten im Modus ohne Bereitstellung von Anmeldedaten lesen:
  • Katalogressourcen verwalten und Tabellendaten im Modus ohne Bereitstellung von Anmeldedaten schreiben:

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.

Beschränkungen

Der Apache Iceberg-REST-Katalogendpunkt unterliegt den folgenden Einschränkungen:

Allgemeine Einschränkungen

  • Apache Iceberg-Tabellen der Version 2 (allgemein verfügbar) und Version 3 (Vorschau) werden unterstützt. Iceberg V1-Tabellen werden nicht unterstützt. Bevor Sie vorhandene V1-Tabellen mit dem Apache Iceberg REST-Katalogendpunkt verwenden können, müssen Sie sie auf eine unterstützte Version aktualisieren.
  • Wenn Sie den Modus für die Bereitstellung von Anmeldedaten verwenden und die Abfrage-Engine es Ihnen erlaubt, die Eigenschaft io-impl für eine Katalogverbindung festzulegen, müssen Sie sie auf org.apache.iceberg.gcp.gcs.GCSFileIO setzen.
  • Buckets mit hierarchischen Namespaces werden derzeit nicht im Credential Vending-Modus unterstützt.

Tabellenbeschränkungen

  • Sie können keine Tabellen im Apache Iceberg REST-Katalogendpunkt mit DDL-Anweisungen (Data Definition Language, Datendefinitionssprache) oder DML-Anweisungen (Data Manipulation Language, Datenbearbeitungssprache) von BigQuery erstellen oder ändern. Sie können diese Tabellen mit der BigQuery API (mit dem bq-Befehlszeilentool oder Clientbibliotheken) ändern. Dabei besteht jedoch das Risiko, dass Sie Änderungen vornehmen, die nicht mit der externen Engine kompatibel sind.
  • Tabellen, die über den Apache Iceberg REST-Katalogendpunkt verwaltet werden, unterstützen keine detaillierte Zugriffssteuerung (Fine-Grained Access Control, FGAC), z. B. Sicherheit auf Zeilen- und Spaltenebene.
  • Das Festlegen der Iceberg-Tabelleneigenschaften write.data.path oder write.metadata.path auf andere Werte als die Standardwerte ist nicht zulässig.
  • Tabellenpfade müssen im übergeordneten Namespace-Pfad verschachtelt sein (z. B. gs://{namespace_path}/.../{table_name}). Um Konflikte zu vermeiden und die Sicherheit zu verbessern, wird dem resultierenden Speicherort automatisch ein zufälliges String-Suffix angehängt (z. B. gs://{namespace_path}/{table_name}/{random_suffix}).

Dateneinschränkungen

  • Es werden nur Parquet-Dateien unterstützt. Weitere Informationen dazu, wie BigQuery Parquet-Dateien verarbeitet, finden Sie unter Parquet-Daten aus Cloud Storage laden.
  • Die Dateigröße für Iceberg-metadata.json-Dateien ist auf 1 MB begrenzt. Wenn Sie eine Erhöhung dieses Limits beantragen möchten, wenden Sie sich an Ihr Google-Account-Team.

Abfragebeschränkungen

  • Apache Iceberg-Metadatentabellen (z. B. .snapshots oder .files) können in BigQuery nicht mit fünfteiligen Namens-IDs abgefragt werden. Sie können diese Tabellen mit Spark abfragen.

Hinweise

Beachten Sie beim Erstellen eines Katalogs die folgenden Konfigurationen.

Bucket-Typ

Sie können einen Katalog mit einem oder mehreren Buckets erstellen.

  • Katalog mit mehreren Buckets (bl://) (empfohlen): Bei dieser Konfiguration können Sie Ihrem Katalog mehrere Buckets zuordnen und ihn unabhängig von einem Bucket-Namen benennen.
  • Einzelner Bucket (gs://): Bei dieser Konfiguration ist Ihr Katalog auf einen einzelnen Bucket beschränkt und der Katalogname ist an den Bucket-Namen gebunden. Für neue Projekte wird davon abgeraten.

Anmeldedatenmodus (Bereich)

Sie können einen Katalog erstellen, der entweder Endnutzeranmeldedaten oder den Modus für die Bereitstellung von Anmeldedaten verwendet.

  • Endnutzeranmeldedaten:Der Katalog übergibt die Identität des Endnutzers, der darauf zugreift, zur Autorisierungsprüfung an Cloud Storage.

  • Credential-Vending-Modus:Ein Delegierungsmechanismus für den Speicherzugriff, mit dem Administratoren des Lakehouse-Laufzeitkatalogs Berechtigungen direkt für Ressourcen des Lakehouse-Laufzeitkatalogs steuern können. Dadurch ist kein direkter Zugriff von Katalognutzern auf Cloud Storage-Buckets erforderlich. Damit können Lakehouse-Administratoren von Google Cloud Nutzern Berechtigungen für bestimmte Datendateien erteilen.

    Für das automatisch bereitgestellte Dienstkonto des Lakehouse-Laufzeitkatalogs ist die explizite Rolle „Storage Object User“ (roles/storage.objectUser) für alle zugehörigen Cloud Storage-Buckets erforderlich. Standardmäßig hat sie keinen Zugriff. Ohne diese Rolle haben die bereitgestellten Anmeldedaten nicht genügend Berechtigungen, um Speichervorgänge auszuführen. Wenn Sie Tools wie gcloud oder Terraform verwenden, müssen Sie diese Rolle manuell zuweisen.

    Die Erstellung des automatisch bereitgestellten Dienstkontos für den Katalog unterliegt der Eventual Consistency. Das bedeutet, dass es einige Zeit dauert, bis das Dienstkonto im gesamten System verteilt wurde. Wenn Sie versuchen, dem Dienstkonto sofort nach der Erstellung Rollen zuzuweisen, schlägt die Anfrage möglicherweise fehl. Informationen darüber, wie lange es durchschnittlich dauert, bis Zugriffsänderungen weitergegeben werden, finden Sie unter Zugriffsänderungsverteilung.

Standort

Machen Sie sich mit den Standortanforderungen vertraut, bevor Sie einen Katalog erstellen.

  • Wenn Sie einen Namespace erstellen, wird automatisch dieselbe Region wie für Ihren Katalog verwendet.

  • Wenn Ihr Katalog einen multiregionalen Bucket verwendet und Sie ihn mit den BigQuery-Multiregionen (US oder EU) verwenden möchten, müssen Sie den Katalog löschen und neu erstellen, um den primären Standort anzugeben.

Iceberg-REST-Katalogendpunkt einrichten

Bevor Sie Ihren Katalog einrichten, sollten Sie sich die Übersicht über Apache Iceberg REST-Katalogendpunkte ansehen, um die Ressourcenhierarchie, die Katalogtypen und die Namensstruktur zu verstehen.

Im Folgenden finden Sie die allgemeinen Schritte, die Sie ausführen müssen, wenn Sie den Apache Iceberg REST-Katalogendpunkt im Lakehouse-Laufzeitkatalog verwenden:

  1. Wählen Sie einen Katalogtyp aus: Katalog mit mehreren Buckets (bl://) (empfohlen) oder Katalog mit einem Bucket (gs://).
  2. Erstellen Sie einen Katalog, der auf den Standort Ihres Warenlagers verweist.
  3. Konfigurieren Sie Ihre Clientanwendung für die Verwendung des Apache Iceberg-REST-Katalogendpunkts.
  4. Erstellen Sie einen Namespace oder ein Schema, um Ihre Tabellen zu organisieren.
  5. Tabellen mit dem konfigurierten Client erstellen und abfragen

Katalog erstellen

Gehen Sie so vor, um einen Katalog basierend auf dem gewünschten Anmeldedatenmodus und Bucket-Typ zu erstellen.

Console

Katalog mit mehreren Buckets (bl://) erstellen (empfohlen)

Mit dieser Konfiguration können Sie Ihrem Katalog mehrere Buckets zuordnen und ihn unabhängig von einem Bucket-Namen benennen.

  1. Öffnen Sie in der Google Cloud Console die Seite Lakehouse.

    Lakehouse aufrufen

  2. Klicken Sie auf Katalog erstellen.

  3. Wählen Sie für Katalogtyp die Option Iceberg-REST-Katalog aus.

  4. Wählen Sie für Lakehouse-Katalog-Bucket-Optionen die Option Katalog mit mehreren Buckets aus.

  5. Geben Sie für Standardmäßiger Cloud Storage-Pfad für Katalog den Cloud Storage-Pfad ein, der für Ihren Katalog verwendet werden soll, oder suchen Sie danach.

  6. Geben Sie unter Katalog-ID einen benutzerdefinierten Namen für Ihren Katalog ein.

  7. Wählen Sie einen Standort für Primärer Standort aus. Der Standort muss sich in der Nähe der Regionen des Haupt-Buckets befinden.

  8. Klicken Sie auf Weiter.

  9. Fügen Sie im Schritt Datenpfade bei Bedarf weitere Cloud Storage-Pfade hinzu.

  10. Klicken Sie auf Weiter.

  11. Wählen Sie unter Authentifizierungsmethode die Option Anmeldedaten von Endnutzern oder Modus für die Bereitstellung von Anmeldedaten aus.

  12. Klicken Sie auf Erstellen.

    Ihr Katalog wird erstellt und die Seite Katalogdetails wird geöffnet.

  13. Wenn Sie Modus für Bereitstellung von Anmeldedaten ausgewählt haben, führen Sie die folgenden zusätzlichen Schritte aus:

    1. Klicken Sie unter Authentifizierungsmethode auf Bucket-Berechtigungen festlegen.
    2. Klicken Sie im Dialogfeld auf Bestätigen.

Katalog mit einem Bucket (gs://) erstellen

  1. Wählen Sie für Katalogtyp die Option Iceberg-REST-Katalog aus.
  2. Wählen Sie unter Lakehouse-Katalog-Bucket-Optionen die Option Katalog mit einem Bucket aus.
  3. Geben Sie für Standardmäßiger Cloud Storage-Pfad für Katalog den Cloud Storage-Pfad ein, der für Ihren Katalog verwendet werden soll, oder suchen Sie danach. Bei einem Katalog mit einem Bucket (gs://) kann es nur einen Katalog pro Bucket geben und der Katalognamen entspricht dem Bucket-Namen.
  4. Klicken Sie auf Weiter.
  5. Wählen Sie unter Authentifizierungsmethode die Option Anmeldedaten von Endnutzern oder Modus für die Bereitstellung von Anmeldedaten aus.
  6. Klicken Sie auf Erstellen.
  7. Wenn Sie Modus für Bereitstellung von Anmeldedaten ausgewählt haben, führen Sie die folgenden zusätzlichen Schritte aus:
    1. Klicken Sie unter Authentifizierungsmethode auf Bucket-Berechtigungen festlegen.
    2. Klicken Sie im Dialogfeld auf Bestätigen.

gcloud

Katalog mit mehreren Buckets (bl://) erstellen (empfohlen)

Mit dieser Konfiguration können Sie Ihrem Katalog mehrere Buckets zuordnen und ihn unabhängig von einem Bucket-Namen benennen.

Führen Sie den Befehl gcloud biglake iceberg catalogs create aus, um einen Katalog mit mehreren Buckets (bl://) zu erstellen (empfohlen).

gcloud biglake iceberg catalogs create \
    CATALOG_NAME \
    --project PROJECT_ID \
    --catalog-type biglake \
    --default-location DEFAULT_LOCATION \
    --credential-mode CREDENTIAL_MODE \
    [--restricted-locations RESTRICTED_LOCATIONS] \
    [--primary-location LOCATION]

Ersetzen Sie Folgendes:

  • CATALOG_NAME: ein Name für Ihren Katalog. Bei Katalogen mit mehreren Buckets (bl://) (empfohlen) ist dies der Name Ihres benutzerdefinierten Katalogs. Bei Katalogen mit einem Bucket (gs://) entspricht dies der Cloud Storage-Bucket-ID, die mit dem REST-Katalog verwendet wird.
  • PROJECT_ID: Ihre Google Cloud Projekt-ID.
  • DEFAULT_LOCATION: Geben Sie den Standardspeicherort für den Katalog an. Sie können einen Bucket (gs://my-bucket) oder einen Unterpfad (gs://my-bucket/path) angeben. Alle Namespaces und Tabellen im Katalog müssen sich unter dem angegebenen Pfad befinden. Wenn Sie beispielsweise gs://my-bucket/path angeben, können Sie keine Namespaces oder Tabellen unter gs://my-bucket/another/path erstellen.
  • CREDENTIAL_MODE: Die Authentifizierungsmethode. Verwenden Sie end-user für Anmeldedaten von Endnutzern oder vended-credentials für den Modus für die Bereitstellung von Anmeldedaten.

    Hinweis: Wenn Sie den Modus für die Bereitstellung von Anmeldedaten verwenden, müssen Sie dem automatisch bereitgestellten Dienstkonto des Lakehouse-Laufzeitkatalogs Ihres Katalogs die Rolle Storage Object User (roles/storage.objectUser) für alle zugehörigen Speicher-Buckets explizit zuweisen.

  • RESTRICTED_LOCATIONS: (Optional) Durch Kommas getrennte Liste mit zusätzlichen zulässigen Speicherorten im Format gs://my-bucket-1/...,gs://my-bucket-2/.... Wenn Sie einen Pfad angeben (z. B. gs://my-bucket/path), müssen sich alle Namespaces oder Tabellen in diesem Bucket unter diesem Pfad befinden. Alle konfigurierten Cloud-Speicherorte am standardmäßigen Standort und an eingeschränkten Speicherorten müssen sich in derselben geografischen Region oder Gerichtsbarkeit befinden, z. B. in den USA, Europa, Kanada oder Asien. Beispielsweise können Sie keinen Bucket in den USA mit einem Bucket in Europa kombinieren. Eine Liste der unterstützten Standorte finden Sie unter Lakehouse-Standorte.

    Warnung:Konfigurieren Sie keine sich überschneidenden Pfade mit anderen Katalogen, um eine unbefugte Offenlegung von Anmeldedaten zu verhindern. Weitere Informationen finden Sie unter Speicher über mehrere Buckets hinweg.

  • LOCATION: (Optional) Die primäre Region für den Katalog, um die Interoperabilität mit BigQuery zu gewährleisten. Geben Sie für Cloud Storage-Buckets in der Region „US“ (z. B. US oder us-central1) oder in der Region „EU“ (z. B. EU oder europe-west4) US bzw. EU an, damit der Katalog von den entsprechenden BigQuery-Multiregionen aus zugänglich ist und abgefragt werden kann. Weitere Informationen finden Sie unter Bucket- und Katalogregionen.

Katalog mit einem Bucket (gs://) erstellen

Führen Sie den folgenden Befehl aus, um einen Katalog mit einem Bucket (gs://) zu erstellen:

gcloud biglake iceberg catalogs create \
    CATALOG_NAME \
    --project PROJECT_ID \
    --catalog-type gcs-bucket \
    --credential-mode CREDENTIAL_MODE

Ersetzen Sie Folgendes:

  • CATALOG_NAME: ein Name für Ihren Katalog. Bei Katalogen mit mehreren Buckets (bl://) (empfohlen) ist dies der Name Ihres benutzerdefinierten Katalogs. Bei Katalogen mit einem Bucket (gs://) entspricht dies der Cloud Storage-Bucket-ID, die mit dem REST-Katalog verwendet wird.
  • PROJECT_ID: Ihre Google CloudProjekt-ID.
  • CREDENTIAL_MODE: Die Authentifizierungsmethode. Verwenden Sie end-user für Anmeldedaten von Endnutzern oder vended-credentials für den Modus für die Bereitstellung von Anmeldedaten.

Clientanwendung konfigurieren

Nachdem Sie einen Katalog erstellt haben, müssen Sie Ihre Clientanwendung für die Verwendung des Katalogs konfigurieren. In diesen Beispielen wird gezeigt, wie Sie die Konfiguration mit oder ohne Bereitstellung von Anmeldedaten vornehmen.

Cluster

Erstellen Sie einen Managed Service for Apache Spark on Compute Engine-Cluster mit vereinfachten Konfigurationseigenschaften (empfohlen) oder durch manuelles Angeben von Eigenschaften.

Cluster mit der Katalog-Property erstellen:

gcloud dataproc clusters create CLUSTER_NAME \
  --enable-component-gateway \
  --project=PROJECT_ID \
  --region=REGION \
  --optional-components=ICEBERG \
  --image-version=DATAPROC_VERSION \
  --properties="dataproc.lakehouse.catalog.CATALOG_NAME=projects/PROJECT_ID/catalogs/CATALOG_ID"

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: ein Name für Ihren Cluster.
  • PROJECT_ID: Projekt-ID in Google Cloud .
  • REGION: Die Region des Managed Service for Apache Spark-Clusters.
  • DATAPROC_VERSION: Die Image-Version von Managed Service for Apache Spark, z. B. 2.3.
  • CATALOG_NAME: ein Name für den lokalen Spark-Katalog, z. B. my_catalog. Er kann mit CATALOG_ID identisch sein.
  • CATALOG_ID: die ID des von Ihnen erstellten Katalogs.

Erstellen Sie in der PySpark-Anwendungsdatei die SparkSession, ohne Katalogkonfigurationen anzugeben:

from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("APP_NAME").getOrCreate()

Manuelle Konfiguration

Wenn Sie die vereinfachte Konfigurationseigenschaft nicht verwenden, erstellen Sie einen Cluster wie oben beschrieben, aber ohne das Flag --properties. Konfigurieren Sie dann Ihr SparkSession manuell:

import pyspark
from pyspark.context import SparkContext
from pyspark.sql import SparkSession

catalog_name = "CATALOG_NAME"
spark = SparkSession.builder.appName("APP_NAME") \
  .config('spark.sql.defaultCatalog', 'CATALOG_NAME') \
  .config(f'spark.sql.catalog.{catalog_name}', 'org.apache.iceberg.spark.SparkCatalog') \
  .config(f'spark.sql.catalog.{catalog_name}.type', 'rest') \
  .config(f'spark.sql.catalog.{catalog_name}.uri', 'https://biglake.googleapis.com/iceberg/REST_API_VERSION/restcatalog') \
  .config(f'spark.sql.catalog.{catalog_name}.warehouse', 'WAREHOUSE_PATH') \
  .config(f'spark.sql.catalog.{catalog_name}.header.x-goog-user-project', 'PROJECT_ID') \
  .config(f'spark.sql.catalog.{catalog_name}.rest.auth.type', 'org.apache.iceberg.gcp.auth.GoogleAuthManager') \
  .config(f'spark.sql.catalog.{catalog_name}.io-impl', 'org.apache.iceberg.gcp.gcs.GCSFileIO') \
  .config('spark.sql.extensions', 'org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions') \
  .getOrCreate()

Ersetzen Sie Folgendes:

  • CATALOG_NAME: ein Name für den lokalen Spark-Katalog, z. B. my_catalog.
  • APP_NAME: Ein Name für Ihre Spark-Sitzung.
  • REST_API_VERSION: Auf v1 für die stabile Version der API festlegen.
  • WAREHOUSE_PATH: Der Pfad zu Ihrem Warehouse. Verwenden Sie für BigLake-Kataloge bl://projects/PROJECT_ID/catalogs/CATALOG_ID. Für Cloud Storage-Bucket-Kataloge verwenden Sie gs://CLOUD_STORAGE_BUCKET_NAME.
  • PROJECT_ID: Das Projekt, das für die Verwendung des Apache Iceberg-REST-Katalogendpunkts abgerechnet wird. Dies kann sich vom Projekt unterscheiden, in dem sich der Cloud Storage-Bucket befindet. Weitere Informationen zur Projektkonfiguration bei Verwendung einer REST API finden Sie unter Systemparameter.

Mit Bereitstellung von Anmeldedaten konfigurieren

Wenn Sie die Bereitstellung von Anmeldedaten verwenden möchten, müssen Sie einen Katalog im Modus für die Bereitstellung von Anmeldedaten verwenden und den Header X-Iceberg-Access-Delegation mit dem Wert vended-credentials zu Iceberg-REST-Kataloganfragen hinzufügen. Fügen Sie dazu die folgende Zeile zum SparkSession-Builder hinzu:

.config(f'spark.sql.catalog.{catalog_name}.header.X-Iceberg-Access-Delegation','vended-credentials')

Beispiel mit Bereitstellung von Anmeldedaten

Im folgenden Beispiel wird die Abfrage-Engine mit der Bereitstellung von Anmeldedaten konfiguriert:

import pyspark
from pyspark.context import SparkContext
from pyspark.sql import SparkSession

catalog_name = "CATALOG_NAME"
spark = SparkSession.builder.appName("APP_NAME") \
  .config('spark.sql.defaultCatalog', 'CATALOG_NAME') \
  .config(f'spark.sql.catalog.{catalog_name}', 'org.apache.iceberg.spark.SparkCatalog') \
  .config(f'spark.sql.catalog.{catalog_name}.type', 'rest') \
  .config(f'spark.sql.catalog.{catalog_name}.uri', 'https://biglake.googleapis.com/iceberg/REST_API_VERSION/restcatalog') \
  .config(f'spark.sql.catalog.{catalog_name}.warehouse', 'WAREHOUSE_PATH') \
  .config(f'spark.sql.catalog.{catalog_name}.header.x-goog-user-project', 'PROJECT_ID') \
  .config(f'spark.sql.catalog.{catalog_name}.rest.auth.type', 'org.apache.iceberg.gcp.auth.GoogleAuthManager') \
  .config(f'spark.sql.catalog.{catalog_name}.io-impl', 'org.apache.iceberg.gcp.gcs.GCSFileIO') \
  .config(f'spark.sql.catalog.{catalog_name}.header.X-Iceberg-Access-Delegation','vended-credentials') \
  .config('spark.sql.extensions', 'org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions') \
  .getOrCreate()

Weitere Informationen finden Sie in der Apache Iceberg-Dokumentation im Abschnitt Headers in the RESTCatalog.

Managed Service for Apache Spark-Cluster unterstützen Google-Autorisierungsabläufe für Apache Iceberg in den folgenden Versionen:

  • Managed Service for Apache Spark in Compute Engine-Image-Versionen 2.2.65 und höher.
  • Managed Service for Apache Spark in Compute Engine 2.3-Image-Versionen 2.3.11 und höher.

Serverlos

Senden Sie eine PySpark-Batcharbeitslast an Managed Service for Apache Spark. Verwenden Sie dazu vereinfachte Konfigurationseigenschaften (empfohlen) oder geben Sie Eigenschaften manuell an.

Senden Sie einen Batchjob mit der Katalog-Property:

gcloud dataproc batches submit pyspark PYSPARK_FILE \
    --project=PROJECT_ID \
    --region=REGION \
    --version=RUNTIME_VERSION \
    --properties="dataproc.lakehouse.catalog.CATALOG_NAME=projects/PROJECT_ID/catalogs/CATALOG_ID"

Ersetzen Sie Folgendes:

  • PYSPARK_FILE: Der gs:// Cloud Storage-Pfad zu Ihrer PySpark-Anwendungsdatei.
  • PROJECT_ID: Projekt-ID in Google Cloud .
  • REGION: die Region für die Managed Service for Apache Spark-Batcharbeitslast.
  • RUNTIME_VERSION: die Laufzeitversion von Managed Service for Apache Spark, z. B. 2.3.
  • CATALOG_NAME: ein Name für den lokalen Spark-Katalog, z. B. my_catalog. Er kann mit CATALOG_ID identisch sein.
  • CATALOG_ID: die ID des von Ihnen erstellten Katalogs.

Erstellen Sie in der PySpark-Anwendungsdatei die SparkSession, ohne Katalogkonfigurationen anzugeben:

from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("APP_NAME").getOrCreate()

Manuelle Konfiguration

Wenn Sie das vereinfachte Konfigurationsattribut nicht verwenden, müssen Sie Katalogkonfigurationen manuell angeben:

gcloud dataproc batches submit pyspark PYSPARK_FILE \
    --project=PROJECT_ID \
    --region=REGION \
    --version=RUNTIME_VERSION \
    --properties="\
    spark.sql.defaultCatalog=CATALOG_NAME,\
    spark.sql.catalog.CATALOG_NAME=org.apache.iceberg.spark.SparkCatalog,\
    spark.sql.catalog.CATALOG_NAME.type=rest,\
    spark.sql.catalog.CATALOG_NAME.uri=https://biglake.googleapis.com/iceberg/REST_API_VERSION/restcatalog,\
    spark.sql.catalog.CATALOG_NAME.warehouse=WAREHOUSE_PATH,\
    spark.sql.catalog.CATALOG_NAME.header.x-goog-user-project=PROJECT_ID,\
    spark.sql.catalog.CATALOG_NAME.rest.auth.type=org.apache.iceberg.gcp.auth.GoogleAuthManager,\
    spark.sql.catalog.CATALOG_NAME.io-impl=org.apache.iceberg.gcp.gcs.GCSFileIO,\
    spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions"

Ersetzen Sie Folgendes:

  • PYSPARK_FILE: Der gs:// Cloud Storage-Pfad zu Ihrer PySpark-Anwendungsdatei.
  • REGION: die Region für die Managed Service for Apache Spark-Batcharbeitslast.
  • RUNTIME_VERSION: die Laufzeitversion von Managed Service for Apache Spark, z. B. 2.3.
  • CATALOG_NAME: ein Name für den lokalen Spark-Katalog, z. B. my_catalog.
  • REST_API_VERSION: Auf v1 für die stabile Version der API festlegen.
  • WAREHOUSE_PATH: Der Pfad zu Ihrem Warehouse. Verwenden Sie für BigLake-Kataloge bl://projects/PROJECT_ID/catalogs/CATALOG_ID. Für Cloud Storage-Bucket-Kataloge verwenden Sie gs://CLOUD_STORAGE_BUCKET_NAME.
  • PROJECT_ID: Das Projekt, das für die Verwendung des Apache Iceberg-REST-Katalogendpunkts abgerechnet wird. Dies kann sich vom Projekt unterscheiden, in dem sich der Cloud Storage-Bucket befindet. Weitere Informationen zur Projektkonfiguration bei Verwendung einer REST API finden Sie unter Systemparameter.

Mit Bereitstellung von Anmeldedaten konfigurieren

Wenn Sie die Bereitstellung von Anmeldedaten verwenden möchten, müssen Sie einen Katalog im Modus für die Bereitstellung von Anmeldedaten verwenden und den Header X-Iceberg-Access-Delegation den Apache Iceberg-REST-Katalogendpunktanfragen mit dem Wert vended-credentials hinzufügen. Fügen Sie dazu die folgende Zeile zu den Managed Service for Apache Spark-Konfigurationen hinzu:

.config(f'spark.sql.catalog.{catalog_name}.header.X-Iceberg-Access-Delegation','vended-credentials')

Beispiel mit Bereitstellung von Anmeldedaten

Im folgenden Beispiel wird die Abfrage-Engine mit der Bereitstellung von Anmeldedaten konfiguriert:

gcloud dataproc batches submit pyspark PYSPARK_FILE \
    --project=PROJECT_ID \
    --region=REGION \
    --version=RUNTIME_VERSION \
    --properties="\
    spark.sql.defaultCatalog=CATALOG_NAME,\
    spark.sql.catalog.CATALOG_NAME=org.apache.iceberg.spark.SparkCatalog,\
    spark.sql.catalog.CATALOG_NAME.type=rest,\
    spark.sql.catalog.CATALOG_NAME.uri=https://biglake.googleapis.com/iceberg/REST_API_VERSION/restcatalog,\
    spark.sql.catalog.CATALOG_NAME.warehouse=WAREHOUSE_PATH,\
    spark.sql.catalog.CATALOG_NAME.header.x-goog-user-project=PROJECT_ID,\
    spark.sql.catalog.CATALOG_NAME.rest.auth.type=org.apache.iceberg.gcp.auth.GoogleAuthManager,\
    spark.sql.catalog.CATALOG_NAME.io-impl=org.apache.iceberg.gcp.gcs.GCSFileIO,\
    spark.sql.catalog.CATALOG_NAME.header.X-Iceberg-Access-Delegation=vended-credentials,\"
    spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions

Weitere Informationen finden Sie im Abschnitt Headers in the RESTCatalog der Apache Iceberg-Dokumentation.

Managed Service for Apache Spark unterstützt Google-Autorisierungsabläufe für Apache Iceberg in den folgenden Laufzeitversionen:

  • Managed Service for Apache Spark 2.2-Laufzeiten 2.2.60 und höher
  • Managed Service for Apache Spark 2.3-Laufzeiten 2.3.10 und höher

Trino

Wenn Sie Trino mit dem Apache Iceberg REST-Katalogendpunkt verwenden möchten, erstellen Sie einen Managed Service for Apache Spark-Cluster mit der Trino-Komponente und konfigurieren Sie die Katalogeigenschaften mit dem Flag gcloud dataproc clusters create --properties. Im folgenden Beispiel wird ein Trino-Katalog mit dem Namen CATALOG_NAME erstellt:

gcloud dataproc clusters create CLUSTER_NAME \
    --enable-component-gateway \
    --region=REGION \
    --image-version=DATAPROC_VERSION \
    --network=NETWORK_ID \
    --optional-components=TRINO \
    --properties="\
    trino-catalog:CATALOG_NAME.connector.name=iceberg,\
    trino-catalog:CATALOG_NAME.iceberg.catalog.type=rest,\
    trino-catalog:CATALOG_NAME.iceberg.rest-catalog.uri=https://biglake.googleapis.com/iceberg/REST_API_VERSION/restcatalog,\
    trino-catalog:CATALOG_NAME.iceberg.rest-catalog.warehouse=WAREHOUSE_PATH,\
    trino-catalog:CATALOG_NAME.iceberg.rest-catalog.biglake.project-id=PROJECT_ID,\
    trino-catalog:CATALOG_NAME.iceberg.rest-catalog.rest.auth.type=org.apache.iceberg.gcp.auth.GoogleAuthManager"

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: ein Name für Ihren Cluster.
  • REGION: Die Region des Managed Service for Apache Spark-Clusters.
  • DATAPROC_VERSION: Die Image-Version von Managed Service for Apache Spark, z. B. 2.2.
  • NETWORK_ID: Cluster-Netzwerk-ID. Weitere Informationen finden Sie unter Netzwerkkonfiguration für Managed Service for Apache Spark-Cluster.
  • CATALOG_NAME: Der Name Ihres Trino-Katalogs mit dem Apache Iceberg-REST-Katalogendpunkt.
  • REST_API_VERSION: Auf v1 für die stabile Version der API festlegen.
  • WAREHOUSE_PATH: Der Pfad zu Ihrem Warehouse. Verwenden Sie für BigLake-Kataloge bl://projects/PROJECT_ID/catalogs/CATALOG_ID. Für Cloud Storage-Bucket-Kataloge verwenden Sie gs://CLOUD_STORAGE_BUCKET_NAME.
  • PROJECT_ID: Ihre Google Cloud Projekt-ID für den Lakehouse-Laufzeitkatalog.

Stellen Sie nach dem Erstellen des Clusters eine Verbindung zur Haupt-VM-Instanz her und verwenden Sie die Trino-Befehlszeile:

trino --catalog=CATALOG_NAME

Managed Service for Apache Spark Trino unterstützt Google-Autorisierungsabläufe für Apache Iceberg in den folgenden Versionen:

  • Managed Service for Apache Spark in Compute Engine 2.2-Laufzeitversionen 2.2.65 und höher
  • Managed Service for Apache Spark in Compute Engine-Laufzeitversionen 2.3 2.3.11 und höher
  • Managed Service for Apache Spark in Compute Engine 3.0 wird nicht unterstützt.

Mit Bereitstellung von Anmeldedaten konfigurieren

Die Bereitstellung von Anmeldedaten wird nur in Trino-Version 481 und höher unterstützt.

Apache Iceberg 1.10 oder höher

Open-Source-Versionen von Apache Iceberg 1.10 und höher unterstützen Google-Autorisierungsabläufe in GoogleAuthManager. Im Folgenden sehen Sie ein Beispiel für die Konfiguration von Spark für die Verwendung des Apache Iceberg-REST-Katalogendpunkts.

import pyspark
from pyspark.context import SparkContext
from pyspark.sql import SparkSession

catalog_name = "CATALOG_NAME"
spark = SparkSession.builder.appName("APP_NAME") \
  .config(f'spark.sql.catalog.{catalog_name}', 'org.apache.iceberg.spark.SparkCatalog') \
  .config(f'spark.sql.catalog.{catalog_name}.type', 'rest') \
  .config(f'spark.sql.catalog.{catalog_name}.uri', 'https://biglake.googleapis.com/iceberg/REST_API_VERSION/restcatalog') \
  .config(f'spark.sql.catalog.{catalog_name}.warehouse', 'WAREHOUSE_PATH') \
  .config(f'spark.sql.catalog.{catalog_name}.header.x-goog-user-project', 'PROJECT_ID') \
  .config(f'spark.sql.catalog.{catalog_name}.rest.auth.type', 'org.apache.iceberg.gcp.auth.GoogleAuthManager') \
  .config(f'spark.sql.catalog.{catalog_name}.io-impl', 'org.apache.iceberg.gcp.gcs.GCSFileIO') \
  .config('spark.sql.extensions', 'org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions') \
  .config('spark.sql.defaultCatalog', 'CATALOG_NAME') \
  .getOrCreate()

Ersetzen Sie Folgendes:

  • CATALOG_NAME: ein Name für den lokalen Spark-Katalog, z. B. my_catalog.
  • APP_NAME: Ein Name für Ihre Spark-Sitzung.
  • REST_API_VERSION: Auf v1 für die stabile Version der API festlegen.
  • WAREHOUSE_PATH: Der Pfad zu Ihrem Warehouse. Verwenden Sie für BigLake-Kataloge bl://projects/PROJECT_ID/catalogs/CATALOG_ID. Für Cloud Storage-Bucket-Kataloge verwenden Sie gs://CLOUD_STORAGE_BUCKET_NAME.
  • PROJECT_ID: Das Projekt, das für die Verwendung des Apache Iceberg-REST-Katalogendpunkts abgerechnet wird. Dies kann sich vom Projekt unterscheiden, in dem sich der Cloud Storage-Bucket befindet. Weitere Informationen zur Projektkonfiguration bei Verwendung einer REST API finden Sie unter Systemparameter.

Mit Bereitstellung von Anmeldedaten konfigurieren

Im vorherigen Beispiel wird die Bereitstellung von Anmeldedaten nicht verwendet. Wenn Sie die Bereitstellung von Anmeldedaten verwenden möchten, müssen Sie einen Katalog im Modus für die Bereitstellung von Anmeldedaten verwenden und den Header X-Iceberg-Access-Delegation mit dem Wert vended-credentials zu den Apache Iceberg REST-Katalogendpunktanfragen hinzufügen. Fügen Sie dazu die folgende Zeile zum SparkSession-Builder hinzu:

.config(f'spark.sql.catalog.{catalog_name}.header.X-Iceberg-Access-Delegation','vended-credentials')

Beispiel mit Bereitstellung von Anmeldedaten

Im folgenden Beispiel wird die Abfrage-Engine mit der Bereitstellung von Anmeldedaten konfiguriert:

import pyspark
from pyspark.context import SparkContext
from pyspark.sql import SparkSession

catalog_name = "CATALOG_NAME"
spark = SparkSession.builder.appName("APP_NAME") \
  .config(f'spark.sql.catalog.{catalog_name}', 'org.apache.iceberg.spark.SparkCatalog') \
  .config(f'spark.sql.catalog.{catalog_name}.type', 'rest') \
  .config(f'spark.sql.catalog.{catalog_name}.uri', 'https://biglake.googleapis.com/iceberg/REST_API_VERSION/restcatalog') \
  .config(f'spark.sql.catalog.{catalog_name}.warehouse', 'WAREHOUSE_PATH') \
  .config(f'spark.sql.catalog.{catalog_name}.header.x-goog-user-project', 'PROJECT_ID') \
  .config(f'spark.sql.catalog.{catalog_name}.rest.auth.type', 'org.apache.iceberg.gcp.auth.GoogleAuthManager') \
  .config(f'spark.sql.catalog.{catalog_name}.io-impl', 'org.apache.iceberg.gcp.gcs.GCSFileIO') \
  .config(f'spark.sql.catalog.{catalog_name}.header.X-Iceberg-Access-Delegation','vended-credentials') \
  .config('spark.sql.extensions', 'org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions') \
  .config('spark.sql.defaultCatalog', 'CATALOG_NAME') \
  .getOrCreate()

Weitere Informationen finden Sie im Abschnitt Headers in the RESTCatalog der Apache Iceberg-Dokumentation.

Frühere Apache Iceberg-Releases

Für Open-Source-Apache Iceberg-Releases vor Version 1.10 können Sie die standardmäßige OAuth-Authentifizierung konfigurieren, indem Sie eine Sitzung mit den folgenden Parametern konfigurieren:

import pyspark
from pyspark.context import SparkContext
from pyspark.sql import SparkSession

catalog_name = "CATALOG_NAME"
spark = SparkSession.builder.appName("APP_NAME") \
  .config('spark.jars.packages', 'org.apache.iceberg:iceberg-spark-runtime-3.5_2.12:1.9.1,org.apache.iceberg:iceberg-gcp-bundle:1.9.1') \
  .config(f'spark.sql.catalog.{catalog_name}', 'org.apache.iceberg.spark.SparkCatalog') \
  .config(f'spark.sql.catalog.{catalog_name}.type', 'rest') \
  .config(f'spark.sql.catalog.{catalog_name}.uri', 'https://biglake.googleapis.com/iceberg/REST_API_VERSION/restcatalog') \
  .config(f'spark.sql.catalog.{catalog_name}.warehouse', 'WAREHOUSE_PATH') \
  .config(f'spark.sql.catalog.{catalog_name}.header.x-goog-user-project', 'PROJECT_ID') \
  .config(f"spark.sql.catalog.{catalog_name}.token", "TOKEN") \
  .config(f"spark.sql.catalog.{catalog_name}.oauth2-server-uri", "https://oauth2.googleapis.com/token") \
  .config(f'spark.sql.catalog.{catalog_name}.io-impl', 'org.apache.iceberg.gcp.gcs.GCSFileIO') \
  .config('spark.sql.extensions', 'org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions') \
  .config('spark.sql.defaultCatalog', 'CATALOG_NAME') \
  .getOrCreate()

Ersetzen Sie Folgendes:

  • CATALOG_NAME: ein Name für den lokalen Spark-Katalog, z. B. my_catalog.
  • APP_NAME: Ein Name für Ihre Spark-Sitzung.
  • REST_API_VERSION: Auf v1 für die stabile Version der API festlegen.
  • WAREHOUSE_PATH: Der Pfad zu Ihrem Warehouse. Verwenden Sie für BigLake-Kataloge bl://projects/PROJECT_ID/catalogs/CATALOG_ID. Für Cloud Storage-Bucket-Kataloge verwenden Sie gs://CLOUD_STORAGE_BUCKET_NAME.
  • PROJECT_ID: Das Projekt, das für die Verwendung des Apache Iceberg-REST-Katalogendpunkts abgerechnet wird. Dies kann sich vom Projekt unterscheiden, in dem sich der Cloud Storage-Bucket befindet. Weitere Informationen zur Projektkonfiguration bei Verwendung einer REST API finden Sie unter Systemparameter.
  • TOKEN: Ihr Authentifizierungstoken, das eine Stunde lang gültig ist, z. B. ein mit gcloud auth application-default print-access-token generiertes Token.

Mit Bereitstellung von Anmeldedaten konfigurieren

Im vorherigen Beispiel wird die Bereitstellung von Anmeldedaten nicht verwendet. Wenn Sie die Bereitstellung von Anmeldedaten verwenden möchten, müssen Sie einen Katalog im Modus für die Bereitstellung von Anmeldedaten verwenden und den Header X-Iceberg-Access-Delegation mit dem Wert vended-credentials zu den Apache Iceberg REST-Katalogendpunktanfragen hinzufügen. Fügen Sie dazu die folgende Zeile zum SparkSession-Builder hinzu:

.config(f'spark.sql.catalog.{catalog_name}.header.X-Iceberg-Access-Delegation','vended-credentials')

Beispiel mit Bereitstellung von Anmeldedaten

Im folgenden Beispiel wird die Abfrage-Engine mit der Bereitstellung von Anmeldedaten konfiguriert:

import pyspark
from pyspark.context import SparkContext
from pyspark.sql import SparkSession

catalog_name = "CATALOG_NAME"
spark = SparkSession.builder.appName("APP_NAME") \
  .config(f'spark.sql.catalog.{catalog_name}', 'org.apache.iceberg.spark.SparkCatalog') \
  .config(f'spark.sql.catalog.{catalog_name}.type', 'rest') \
  .config(f'spark.sql.catalog.{catalog_name}.uri', 'https://biglake.googleapis.com/iceberg/REST_API_VERSION/restcatalog') \
  .config(f'spark.sql.catalog.{catalog_name}.warehouse', 'WAREHOUSE_PATH') \
  .config(f'spark.sql.catalog.{catalog_name}.header.x-goog-user-project', 'PROJECT_ID') \
  .config(f"spark.sql.catalog.{catalog_name}.token", "TOKEN") \
  .config(f"spark.sql.catalog.{catalog_name}.oauth2-server-uri", "https://oauth2.googleapis.com/token") \
  .config(f'spark.sql.catalog.{catalog_name}.io-impl', 'org.apache.iceberg.gcp.gcs.GCSFileIO') \
  .config(f'spark.sql.catalog.{catalog_name}.header.X-Iceberg-Access-Delegation','vended-credentials') \
  .config('spark.sql.extensions', 'org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions') \
  .config('spark.sql.defaultCatalog', 'CATALOG_NAME') \
  .getOrCreate()

Weitere Informationen finden Sie im Abschnitt Headers in the RESTCatalog der Apache Iceberg-Dokumentation.

Namespace oder Schema erstellen

Nachdem Sie Ihren Client konfiguriert haben, erstellen Sie einen Namespace oder ein Schema, um Ihre Tabellen zu organisieren. Die Syntax zum Erstellen eines Namespace oder Schemas variiert je nach Abfrage-Engine. In den folgenden Beispielen wird gezeigt, wie Sie sie mit Spark und Trino 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 + Namespace erstellen.

  4. Geben Sie unter Namespace-Name einen eindeutigen Namen für den Namespace ein.

  5. Geben Sie unter Speicherort den Pfad an, der Ihrem Namespace zugeordnet werden soll:

    • Mehrere Buckets (bl://) (empfohlen): Sie können einen beliebigen benutzerdefinierten Speicherort festlegen, sofern er sich an einem Speicherort befindet, der vom Katalog zugelassen ist (default_location oder restricted_locations). Wenn Sie keinen Speicherort angeben, wird der Namespace am standardmäßigen Standort des Katalogs erstellt (z. B. gs://{path-to-default-location}/{namespace_name}).
    • Einzelner Bucket (gs://): Der Namespace-Speicherort wird automatisch vom einzelnen Bucket des Katalogs übernommen.
  6. Klicken Sie auf Erstellen.

Spark

Cloud Storage-Warehouse

spark.sql("CREATE NAMESPACE IF NOT EXISTS NAMESPACE_NAME;")
spark.sql("USE NAMESPACE_NAME;")

Ersetzen Sie NAMESPACE_NAME durch einen Namen für den Namespace.

Trino

Cloud Storage-Warehouse

CREATE SCHEMA IF NOT EXISTS  CATALOG_NAME.SCHEMA_NAME;
USE CATALOG_NAME.SCHEMA_NAME;

Ersetzen Sie Folgendes:

  • CATALOG_NAME: Der Name Ihres Trino-Katalogs mit dem Apache Iceberg-REST-Katalogendpunkt.
  • SCHEMA_NAME: Ein Name für Ihr Schema.

Katalog aktualisieren

Wenn Sie einen vorhandenen Katalog mit einem Bucket (gs://) haben, können Sie ihn auf den empfohlenen Katalogtyp mit mehreren Buckets (bl://) aktualisieren. Durch das Upgrade können Sie mehrere Buckets verknüpfen und eingeschränkte Standorte konfigurieren, wobei der ursprüngliche Katalognamen beibehalten wird.

Informationen zum Aktualisieren Ihres Katalogs finden Sie unter Katalog aktualisieren.

Nächste Schritte