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
- Lesen Sie Informationen zum Lakehouse-Laufzeitkatalog, um zu erfahren, wie der Lakehouse-Laufzeitkatalog funktioniert und welche Einschränkungen für den Dienst gelten.
- 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 theresourcemanager.projects.createpermission. Learn how to grant roles. - 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 theresourcemanager.projects.createpermission. Learn how to grant roles.
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
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.
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
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.
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:
- BigLake-Administrator (
roles/biglake.admin) für Ihr Projekt - Storage-Administrator (
roles/storage.admin) für Ihr Projekt
- BigLake-Administrator (
-
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
Öffnen Sie in der Google Cloud Console die Seite Lakehouse.
Wählen Sie Katalog erstellen aus. Die Seite Katalog erstellen wird geöffnet.
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.
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.
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.Wählen Sie Erstellen aus.
Ihr Katalog wird erstellt und die Seite Katalogdetails wird geöffnet.
Wählen Sie unter Authentifizierungsmethode die Option Bucket-Berechtigungen festlegen aus.
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 mitgcloudoder 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 Formatgs://my-bucket/pathodergs://my-bucket. Alle Namespaces und Tabellen im Katalog müssen sich unter diesem Pfad befinden. Wenn Sie beispielsweisegs://my-bucket/pathangeben, können Sie keine Namespaces oder Tabellen untergs://my-bucket/another/pathhosten.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 Sieend-userfür Anmeldedaten von Endnutzern odervended-credentialsfür den Modus für die Bereitstellung von Anmeldedaten.PRIMARY_LOCATION: (Optional) Die primäre Region für den Katalog, z. B.USoderEU, 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 Sieend-userfür Anmeldedaten von Endnutzern odervended-credentialsfü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.