Katalog erstellen

Wenn Sie einen Katalog erstellen, z. B. einen Apache Iceberg REST-Katalog oder einen Apache Hive-Katalog, wird ein Verwaltungsendpunkt im Lakehouse-Laufzeitkatalog eingerichtet. Dieser Endpunkt verweist auf einen zugrunde liegenden Cloud Storage-Bucket und bietet eine Metadatenebene, über die Abfrage-Engines und Open-Source-Arbeitslasten direkt mit Ihren Tabellen interagieren können.

Wenn Sie Ihren Katalog für Lakehouse für Apache Iceberg erstellen, können Sie zwischen Endnutzeranmeldedaten oder dem Modus für die Bereitstellung von Anmeldedaten für die Speicherdienstzugriffsdelegierung wählen.

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 IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Weitere 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 Erstellen eines Katalogs benötigen:

  • Alle:
  • Automatisch bereitgestelltes Lakehouse-Laufzeitkatalog-Dienstkonto im Credential Vending-Modus: Storage Object User (roles/storage.objectUser) für den Ziel-Cloud Storage-Bucket. 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 Ihren Speicher-Bucket zu.

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.

Katalog erstellen

Katalogendpunkt erstellen

Console

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

    Lakehouse aufrufen

  2. Wählen Sie  Katalog erstellen aus. Die Seite Katalog erstellen wird geöffnet.

  3. Wählen Sie die Katalogkonfiguration aus:

    • Wenn Sie einen Apache Iceberg REST-Katalog erstellen möchten, wählen Sie Iceberg REST catalog (Iceberg-REST-Katalog) aus.
    • Wenn Sie einen Apache Hive-Katalog erstellen möchten, wählen Sie Hive-Katalog aus.
  4. Katalog konfigurieren:

    • Wenn Sie Iceberg REST catalog (Iceberg-REST-Katalog) auswählen, wählen Sie Cloud Storage bucket (Cloud Storage-Bucket) als Katalogtyp aus und wählen Sie den Cloud Storage-Bucket aus, der mit Ihrem Katalog verwendet werden soll. Sie können nur einen Katalog pro Bucket haben und der Katalogname entspricht dem Bucket-Namen.
    • Wenn Sie Hive-Katalog auswählen, geben Sie einen eindeutigen Katalognamen ein und wählen Sie den zugehörigen Cloud Storage-Pfad aus.
  5. Wählen Sie unter Authentifizierungsmethode entweder Anmeldedaten von Endnutzern oder Modus für Bereitstellung von Anmeldedaten aus.

    Wenn Sie den Modus für die Bereitstellung von Anmeldedaten auswählen, ist für das automatisch bereitgestellte Dienstkonto des Lakehouse-Laufzeitkatalogs 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 bereitgestellte Anmeldedaten nicht den erforderlichen Umfang, um Speichervorgänge auszuführen.

  6. Wählen Sie Erstellen aus.

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

  7. Wählen Sie unter Authentifizierungsmethode die Option Bucket-Berechtigungen festlegen aus.

  8. Wählen Sie im Dialogfeld Bestätigen aus.

    So wird überprüft, ob das Dienstkonto Ihres Katalogs die Rolle „Storage-Objekt-Nutzer“ (roles/storage.objectUser) für alle zugehörigen Speicher-Buckets hat. Wenn Sie Kataloge mit gcloud oder Terraform erstellen, müssen Sie diese Rolle manuell zuweisen.

gcloud

Führen Sie den gcloud biglake iceberg catalogs create-Befehl aus, um einen Katalog mit gcloud zu erstellen.

BigLake-Katalog erstellen

Wenn Sie einen BigLake-Katalog erstellen möchten, legen Sie --catalog-type auf biglake fest und geben Sie den Standardspeicherort des Data Warehouse an:

gcloud biglake iceberg catalogs create CATALOG_ID \
    --project="PROJECT_ID" \
    --catalog-type="biglake" \
    --default-location="DEFAULT_LOCATION" \
    [--restricted-locations="RESTRICTED_LOCATIONS"] \
    [--credential-mode="CREDENTIAL_MODE"] \
    [--primary-location="PRIMARY_LOCATION"]

Cloud Storage-Bucket-Katalog erstellen

Wenn Sie einen Cloud Storage-Bucket-Katalog erstellen möchten, setzen Sie --catalog-type auf gcs-bucket:

gcloud biglake iceberg catalogs create CATALOG_ID \
    --project="PROJECT_ID" \
    --catalog-type="gcs-bucket" \
   [--credential-mode="CREDENTIAL_MODE"]

Ersetzen Sie Folgendes:

  • CATALOG_ID: die ID Ihres Lakehouse-Laufzeitkatalogs. Bei Cloud Storage-Bucket-Katalogen muss dieser Wert mit dem Namen des Cloud Storage-Buckets übereinstimmen.
  • PROJECT_ID: Projekt-ID in Google Cloud .
  • DEFAULT_LOCATION: Der Cloud Storage-Basispfad für die Katalogdaten und ‑metadaten im Format gs://my-bucket/path.
  • RESTRICTED_LOCATIONS: (Optional) Eine durch Kommas getrennte Liste mit zusätzlichen zulässigen Speicher-Buckets oder -Pfaden.
  • 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.
  • PRIMARY_LOCATION: (Optional) Die primäre Region für den Katalog, z. B. US oder EU, um die Kompatibilität mit BigQuery zu gewährleisten.

REST

Wenn Sie einen Endpunkt für die Katalogverwaltung mit der REST API erstellen möchten, senden Sie eine POST-Anfrage an den Endpunkt CreateIcebergCatalog:

POST /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs?icebergCatalogId=CATALOG_ID

Der Anfragetext muss eine IcebergCatalog-JSON-Nutzlast enthalten, in der die Katalogkonfiguration definiert ist, z. B. das zugrunde liegende Cloud Storage-Bucket-Warehouse und der Authentifizierungsmodus.

Ersetzen Sie Folgendes:

  • PROJECT_ID: Projekt-ID in Google Cloud .
  • CATALOG_ID: die ID Ihres Lakehouse-Laufzeitkatalogs.