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.
-
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.
-
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
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:
- BigLake-Administrator (
roles/biglake.admin) für das Projekt - Storage-Administrator (
roles/storage.admin) für alle zugehörigen Cloud Storage-Buckets.
- BigLake-Administrator (
-
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:
- BigLake-Betrachter (
roles/biglake.viewer) für das Projekt - Storage-Objekt-Betrachter (
roles/storage.objectViewer) für alle zugehörigen Cloud Storage-Buckets.
- BigLake-Betrachter (
-
Katalogressourcen verwalten und Tabellendaten im Modus ohne Bereitstellung von Anmeldedaten schreiben:
- BigLake Editor (
roles/biglake.editor) für das Projekt - Storage-Objekt-Nutzer (
roles/storage.objectUser) für alle zugehörigen Cloud Storage-Buckets.
- BigLake Editor (
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-implfür eine Katalogverbindung festzulegen, müssen Sie sie auforg.apache.iceberg.gcp.gcs.GCSFileIOsetzen. - 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.pathoderwrite.metadata.pathauf 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.
.snapshotsoder.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 wiegcloudoder 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 (
USoderEU) 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:
- Wählen Sie einen Katalogtyp aus: Katalog mit mehreren Buckets (
bl://) (empfohlen) oder Katalog mit einem Bucket (gs://). - Erstellen Sie einen Katalog, der auf den Standort Ihres Warenlagers verweist.
- Konfigurieren Sie Ihre Clientanwendung für die Verwendung des Apache Iceberg-REST-Katalogendpunkts.
- Erstellen Sie einen Namespace oder ein Schema, um Ihre Tabellen zu organisieren.
- 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.
Öffnen Sie in der Google Cloud Console die Seite Lakehouse.
Klicken Sie auf Katalog erstellen.
Wählen Sie für Katalogtyp die Option Iceberg-REST-Katalog aus.
Wählen Sie für Lakehouse-Katalog-Bucket-Optionen die Option Katalog mit mehreren Buckets aus.
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.
Geben Sie unter Katalog-ID einen benutzerdefinierten Namen für Ihren Katalog ein.
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.
Klicken Sie auf Weiter.
Fügen Sie im Schritt Datenpfade bei Bedarf weitere Cloud Storage-Pfade hinzu.
Klicken Sie auf Weiter.
Wählen Sie unter Authentifizierungsmethode die Option Anmeldedaten von Endnutzern oder Modus für die Bereitstellung von Anmeldedaten aus.
Klicken Sie auf Erstellen.
Ihr Katalog wird erstellt und die Seite Katalogdetails wird geöffnet.
Wenn Sie Modus für Bereitstellung von Anmeldedaten ausgewählt haben, führen Sie die folgenden zusätzlichen Schritte aus:
- Klicken Sie unter Authentifizierungsmethode auf Bucket-Berechtigungen festlegen.
- Klicken Sie im Dialogfeld auf Bestätigen.
Katalog mit einem Bucket (gs://) erstellen
- Wählen Sie für Katalogtyp die Option Iceberg-REST-Katalog aus.
- Wählen Sie unter Lakehouse-Katalog-Bucket-Optionen die Option Katalog mit einem Bucket aus.
- 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. - Klicken Sie auf Weiter.
- Wählen Sie unter Authentifizierungsmethode die Option Anmeldedaten von Endnutzern oder Modus für die Bereitstellung von Anmeldedaten aus.
- Klicken Sie auf Erstellen.
- Wenn Sie Modus für Bereitstellung von Anmeldedaten ausgewählt haben, führen Sie die folgenden zusätzlichen Schritte aus:
- Klicken Sie unter Authentifizierungsmethode auf Bucket-Berechtigungen festlegen.
- 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 beispielsweisegs://my-bucket/pathangeben, können Sie keine Namespaces oder Tabellen untergs://my-bucket/another/patherstellen.CREDENTIAL_MODE: Die Authentifizierungsmethode. Verwenden Sieend-userfür Anmeldedaten von Endnutzern odervended-credentialsfü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 Formatgs://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.USoderus-central1) oder in der Region „EU“ (z. B.EUodereurope-west4)USbzw.EUan, 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 Sieend-userfür Anmeldedaten von Endnutzern odervended-credentialsfü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.
Vereinfachte Konfiguration mit Properties (empfohlen)
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 mitCATALOG_IDidentisch 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: Aufv1für die stabile Version der API festlegen.WAREHOUSE_PATH: Der Pfad zu Ihrem Warehouse. Verwenden Sie für BigLake-Katalogebl://projects/PROJECT_ID/catalogs/CATALOG_ID. Für Cloud Storage-Bucket-Kataloge verwenden Siegs://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.
Vereinfachte Konfiguration mit Properties (empfohlen)
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: Dergs://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 mitCATALOG_IDidentisch 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: Dergs://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: Aufv1für die stabile Version der API festlegen.WAREHOUSE_PATH: Der Pfad zu Ihrem Warehouse. Verwenden Sie für BigLake-Katalogebl://projects/PROJECT_ID/catalogs/CATALOG_ID. Für Cloud Storage-Bucket-Kataloge verwenden Siegs://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: Aufv1für die stabile Version der API festlegen.WAREHOUSE_PATH: Der Pfad zu Ihrem Warehouse. Verwenden Sie für BigLake-Katalogebl://projects/PROJECT_ID/catalogs/CATALOG_ID. Für Cloud Storage-Bucket-Kataloge verwenden Siegs://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: Aufv1für die stabile Version der API festlegen.WAREHOUSE_PATH: Der Pfad zu Ihrem Warehouse. Verwenden Sie für BigLake-Katalogebl://projects/PROJECT_ID/catalogs/CATALOG_ID. Für Cloud Storage-Bucket-Kataloge verwenden Siegs://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: Aufv1für die stabile Version der API festlegen.WAREHOUSE_PATH: Der Pfad zu Ihrem Warehouse. Verwenden Sie für BigLake-Katalogebl://projects/PROJECT_ID/catalogs/CATALOG_ID. Für Cloud Storage-Bucket-Kataloge verwenden Siegs://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 mitgcloud auth application-default print-access-tokengeneriertes 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
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 + Namespace erstellen.
Geben Sie unter Namespace-Name einen eindeutigen Namen für den Namespace ein.
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_locationoderrestricted_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.
- Mehrere Buckets (
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
Informationen zum Verwalten von Katalogen in der Google Cloud -Konsole
Weitere Informationen zu Lakehouse-REST-Katalogtabellen für Apache Iceberg