Katalog erstellen

Durch das Erstellen eines Katalogendpunkts (z. B. eines Apache Iceberg REST-Katalogendpunkts oder eines Apache Hive-Katalogendpunkts) wird ein Verwaltungs-Endpunkt 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 Katalogendpunkt 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 Speicherkonfiguration wählen.

Hinweis

  1. Lesen Sie Informationen zum Lakehouse-Laufzeitkatalog, um zu erfahren, wie der Lakehouse-Laufzeitkatalog funktioniert und welche Einschränkungen für den Dienst gelten.
  2. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.

    In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

    Enable the BigLake API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

    In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

    Enable the BigLake API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines Katalogs und zum Registrieren von Tabellen benötigen:

  • Katalog erstellen:
  • Tabellen registrieren: BigLake-Administrator (roles/biglake.admin) für Ihr Projekt. Für die Registrierung von Tabellen in einem Katalog mit mehreren Buckets ist die spezielle Berechtigung zum Registrieren von Tabellen (biglake.tables.register) erforderlich, die in der Rolle „BigLake-Administrator“ enthalten ist.
  • Verwenden Sie das automatisch bereitgestellte Dienstkonto für den Katalog im Credential Vending-Modus: Storage Object User (roles/storage.objectUser) für die Ziel-Cloud Storage-Buckets. Nachdem Sie den Katalog erstellt haben, weisen Sie dem automatisch bereitgestellten Dienstkonto explizit die Rolle „Storage Object User“ (roles/storage.objectUser) für Ihre Speicher-Buckets 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

Erstellen Sie einen Katalog.

Console

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

Katalog mit einem Bucket (gs://) erstellen

  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.
  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.
    • 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

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

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"]

Ersetzen Sie Folgendes:

  • CATALOG_ID: die ID Ihres Lakehouse-Laufzeitkatalogs.
  • 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 oder gs://my-bucket. Alle Namespaces und Tabellen im Katalog müssen sich unter diesem Pfad befinden. Wenn Sie beispielsweise gs://my-bucket/path angeben, können Sie keine Namespaces oder Tabellen unter gs://my-bucket/another/path hosten.
  • RESTRICTED_LOCATIONS: (Optional) Eine durch Kommas getrennte Liste mit zusätzlichen zulässigen Speicher-Buckets oder -Pfaden. Wenn Sie einen Pfad angeben (z. B. gs://my-bucket/path), müssen sich alle Namespaces und Tabellen, die im Bucket dieses Pfads erstellt werden, in diesem Pfad befinden. Sicherheitswarnung:Konfigurieren Sie keine sich überschneidenden Pfade mit anderen Katalogen, um unbefugte Offenlegung von Anmeldedaten zu verhindern. Weitere Informationen finden Sie unter Speicher über mehrere Buckets hinweg.
  • 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.

Katalog mit einem Bucket (gs://) erstellen

Wenn Sie einen Katalog mit einem Bucket (gs://) erstellen möchten, legen Sie --catalog-type auf gcs-bucket fest:

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 Katalogen mit einem Bucket (gs://) muss dieser mit dem Namen des Cloud Storage-Bucket übereinstimmen.
  • PROJECT_ID: Projekt-ID in Google Cloud .
  • 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.

REST

Iceberg-REST-Katalog erstellen

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.