Metadaten aus externen Datenkatalogen in Lakehouse REST-Katalogtabellen für Apache Iceberg migrieren

In diesem Dokument wird beschrieben, wie Sie Metadaten aus externen Datenkatalogen in Lakehouse REST-Katalogtabellen für Apache Iceberg migrieren. Der BigQuery Migration Service unterstützt die Migration von Metadaten aus den folgenden externen Metastores:

  • Apache Hive Metastore
  • Apache Iceberg REST-Kataloge

Beschränkungen

  • Metadatenmigrationen aus externen Datenkatalogen in Lakehouse REST-Katalogtabellen für Apache Iceberg sind eine einmalige Synchronisierung. Diese Funktion unterstützt keine kontinuierlichen oder regelmäßigen Synchronisierungen. Alle nach der Migration vorgenommenen Schreibvorgänge sind erst sichtbar, wenn Sie die Migration noch einmal durchführen.
  • Verschachtelte Namespaces werden nicht unterstützt.
  • Der Iceberg REST-Katalog unterstützt nur Parquet-Datendateien.
  • Borderless Lakehouse unterstützt keine Apache Iceberg V3-Tabellen.
  • Metadatenmigrationen aus externen Datenkatalogen in Lakehouse REST-Katalogtabellen für Apache Iceberg unterstützen nur Migrationen von bis zu 10.000 Tabellen. Wenn für Ihre Arbeitslast mehr als 10.000 Tabellen verarbeitet werden müssen,empfehlen wir, die Arbeitslast auf mehrere Migrationen aufzuteilen.
  • Metadatenmigrationen aus externen Datenkatalogen in Lakehouse REST-Katalogtabellen für Apache Iceberg unterstützen nicht die Verwendung von Organisations richtlinien, um die domainbeschränkte Freigabe zu erzwingen.

Hinweis

Bevor Sie Metadaten aus Ihren externen Datenkatalogen migrieren können, müssen Sie die Schritte in den folgenden Abschnitten ausführen.

APIs aktivieren

Aktivieren Sie die BigLake-, BigQuery Data Transfer-, BigQuery Migration-, Secret Manager- und Storage Transfer APIs.

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.

APIs aktivieren

Beim Aktivieren der Data Transfer API wird ein Dienst-Agent erstellt.

Berechtigungen konfigurieren

  1. Dem Nutzer oder Dienstkonto, das die Übertragung erstellt, sollte die Rolle „BigQuery-Administrator“ (roles/bigquery.admin) zugewiesen werden. Wenn Sie ein Dienstkonto verwenden, wird es nur zum Erstellen der Übertragung verwendet.
  2. Beim Aktivieren der Data Transfer API wird ein Dienst-Agent (P4SA) erstellt.

    Damit der Dienst-Agent die erforderlichen Berechtigungen zum Ausführen einer Hive-Metastore-Übertragung hat, bitten Sie Ihren Administrator, dem Dienst-Agent die folgenden IAM-Rollen für das Projekt zuzuweisen:

    Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Ihr Administrator kann dem Dienst-Agent möglicherweise auch die erforderlichen Berechtigungen über benutzerdefinierte Rollen oder andere vordefinierte Rollen erteilen.

  3. Wenn Sie ein Dienstkonto verwenden, weisen Sie dem Dienst-Agent mit dem folgenden Befehl die Rolle roles/iam.serviceAccountTokenCreator zu:

    gcloud iam service-accounts add-iam-policy-binding
    SERVICE_ACCOUNT --member
    serviceAccount:service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.s3ns-system.iam.gserviceaccount.com --role
    roles/iam.serviceAccountTokenCreator
  4. Weisen Sie dem Storage Transfer Service-Dienst-Agent (project-PROJECT_NUMBER@storage-transfer-service.s3ns-system.iam.gserviceaccount.com) die folgenden Rollen im Projekt zu:

    • roles/storage.admin
    • Wenn Sie von einem lokalen System oder HDFS migrieren, müssen Sie auch die Rolle roles/storagetransfer.serviceAgent zuweisen.

    Sie können auch detailliertere Berechtigungen konfigurieren. Weitere Informationen finden Sie in der folgenden Anleitung:

Erforderliche Nutzerrollen und Berechtigungen

Damit der Dienst-Agent die erforderlichen Berechtigungen zum Erstellen, Ändern und Ausführen einer Migration von Lakehouse REST-Katalogtabellen für Apache Iceberg hat, bitten Sie Ihren Administrator, dem Dienst-Agent die folgenden IAM-Rollen für den Nutzer zuzuweisen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Ihr Administrator kann dem Dienst-Agent möglicherweise auch die erforderlichen Berechtigungen über benutzerdefinierte Rollen oder andere vordefinierte Rollen erteilen.

Erforderliche Dienstkontorollen und Berechtigungen

Damit das vom Kunden bereitgestellte Dienstkonto die erforderlichen Berechtigungen zum Erstellen, Ändern und Ausführen einer Migration von Lakehouse REST-Katalogtabellen für Apache Iceberg hat, bitten Sie Ihren Administrator, dem vom Kunden bereitgestellten Dienstkonto die folgenden IAM-Rollen zuzuweisen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Ihr Administrator kann dem vom Kunden bereitgestellten Dienstkonto die erforderlichen Berechtigungen möglicherweise auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erteilen.

Sie müssen auch eine Dienstidentität für den BigQuery Migration Service erstellen und ihr die Rolle roles/iam.serviceAccountTokenCreator zuweisen.

Führen Sie den folgenden Befehl aus, um die Dienstidentität zu erstellen:

gcloud beta services identity create --service=bigquerymigration.googleapis.com --project=PROJECT_ID

Führen Sie den folgenden Befehl aus, um dem Dienst-Agent die Rolle zuzuweisen:

gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-bqms.s3ns-system.iam.gserviceaccount.com --role roles/iam.serviceAccountTokenCreator --project PROJECT_ID

Ersetzen Sie Folgendes:

  • SERVICE_ACCOUNT: die ID des vom Kunden bereitgestellten Dienstkontos
  • PROJECT_ID: die Projekt-ID
  • PROJECT_NUMBER: die Projektnummer

Secret konfigurieren

Wenn Sie zu einem Apache Iceberg REST-Katalog migrieren, müssen Sie ein Secret erstellen, um die Migration zu autorisieren. Das Secret muss das folgende Format haben:

{
  "client_id": "CLIENT_ID",
  "client_secret": "CLIENT_SECRET",
  "polaris_realm": "POLARIS_REALM",
  "scope": "SCOPE"
}

Ersetzen Sie Folgendes:

  • CLIENT_ID: die OAuth2.0-Client-ID
  • CLIENT_SECRET: der OAuth2.0-Clientschlüssel
  • POLARIS_REALM: der Bereich für den Polaris-Katalog. Dieses Feld ist nur für Apache Polaris erforderlich. Beispiel: FINANCE.
  • SCOPE: (Optional) der OAuth2.0-Bereich. Der Standardwert ist PRINCIPAL_ROLE:ALL.

Lakehouse-Katalog erstellen

Erstellen Sie einen Lakehouse Katalog. Die migrierten Metadaten werden in dem Cloud Storage-Bucket gespeichert, den Sie beim Erstellen des Katalogs angegeben haben.

Metadaten migrieren

So starten Sie eine Metadatenmigration zu Lakehouse Iceberg REST-Katalogtabellen:

  1. Rufen Sie in der Cloud de Confiance Console die Seite Migration > Dienste auf.

    Zu Migrationsdiensten

  2. Klicken Sie unter Offenes Lakehouse registrieren oder migrieren auf Migration erstellen.

  3. Führen Sie unter Migrationskonfiguration folgende Schritte aus:

    1. Wählen Sie als Katalogtyp einen externen Katalog aus.
    2. Wählen Sie unter Region eine Region aus. Die ausgewählte Region bestimmt, wo die Migrationsorchestrierung und die Datenübertragung ausgeführt werden. Außerdem wird festgelegt, wo der Migrationsdienst Ressourcen wie Netzwerkanhänge oder Secrets verwendet oder erstellt.

      Es werden nur regionale Secrets unterstützt. Die Region des Secrets muss mit der Region in diesem Feld übereinstimmen.

    3. Geben Sie unter Anzeigename der Migration einen Namen für diese Migration ein.

  4. Führen Sie unter Konfiguration des Quellsystems folgende Schritte aus:

    1. Geben Sie unter URL die Basis-Endpunkt-URL ein, die als Einstiegspunkt für den Apache Iceberg- oder Apache Hive-Metastore dient.
    2. Wählen Sie unter Dienstkonto ein Dienstkonto aus der Liste aus. Wenn nichts angegeben ist, wird diese Migration mit den Nutzeranmeldedaten ausgeführt.
    3. (Optional) Wählen Sie unter Netzwerkanhang einen Netzwerkanhang aus.
  5. Klicken Sie auf Weiter.

Nach Abschluss der Metadatenmigration werden die Metadaten aus Ihren externen Katalogen in dem Cloud Storage-Bucket gespeichert, den Sie beim Erstellen des Lakehouse-Katalogs angegeben haben.

Preise

Die Übertragung von Metadaten in Lakehouse Iceberg REST-Katalogtabellen ist kostenlos. Nach der Übertragung der Metadaten gelten die Lakehouse-Preise.