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-Migrationsdienst unterstützt die Migration von Metadaten aus den folgenden externen Metaspeichern:
- Apache Hive-Metastore
- Apache Iceberg-REST-Kataloge
Beschränkungen
- Metadatenmigrationen von externen Datenkatalogen zu Lakehouse-REST-Katalogtabellen für Apache Iceberg sind eine einmalige Synchronisierung. Diese Funktion unterstützt keine kontinuierlichen oder regelmäßigen Synchronisierungen. Alle Schreibvorgänge nach der Migration sind erst nach einer erneuten Migration sichtbar.
- Verschachtelte Namespaces werden nicht unterstützt.
- Der Iceberg-REST-Katalog unterstützt nur Parquet-Datendateien.
- Lakehouse unterstützt keine Apache Iceberg V3-Tabellen.
- Bei der Migration von Metadaten aus externen Datenkatalogen in Lakehouse REST-Katalogtabellen für Apache Iceberg werden nur Migrationen von bis zu 10.000 Tabellen unterstützt. Wenn für Ihre Arbeitslast mehr als 10.000 Tabellen verarbeitet werden müssen,empfehlen wir, sie auf mehrere Migrationen aufzuteilen.
- Bei der Migration von Metadaten aus externen Datenkatalogen in Lakehouse REST-Katalogtabellen für Apache Iceberg wird die Verwendung von Organisationsrichtlinien zur Erzwingung der freigabe mit eingeschränkter Domain nicht unterstützt.
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 API, die BigQuery Data Transfer API, die BigQuery Migration API, die Secret Manager API und die Storage Transfer 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
Ein Dienst-Agent wird erstellt, wenn Sie die Data Transfer API aktivieren.
Berechtigungen konfigurieren
- Dem Nutzer oder Dienstkonto, das die Übertragung erstellt, muss die Rolle „BigQuery-Administrator“ (
roles/bigquery.admin) zugewiesen werden. Wenn Sie ein Dienstkonto verwenden, wird es nur zum Erstellen der Übertragung verwendet. Beim Aktivieren der Data Transfer API wird ein Dienst-Agent (P4SA) erstellt.
Bitten Sie Ihren Administrator, dem Dienst-Agent die folgenden IAM-Rollen für das Projekt zuzuweisen, damit der Dienst-Agent die erforderlichen Berechtigungen zum Ausführen einer Hive-Metastore-Übertragung hat:
- Storage Transfer-Administrator (
roles/storagetransfer.admin) - Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer) - Storage-Administrator (
roles/storage.admin) -
So migrieren Sie Metadaten in den Lakehouse-Laufzeitkatalog (Iceberg REST-Katalog oder Hive-Katalog):
BigLake-Administrator (
roles/biglake.admin) -
So migrieren Sie Metadaten zu Dataproc Metastore:
Dataproc Metastore-Dateninhaber (
roles/metastore.metadataOwner)
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.
- Storage Transfer-Administrator (
Wenn Sie ein Dienstkonto verwenden, weisen Sie dem Dienst-Agent mit dem folgenden Befehl die Rolle
roles/iam.serviceAccountTokenCreatorzu:gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com --role roles/iam.serviceAccountTokenCreator
Weisen Sie dem Storage Transfer Service-Dienst-Agent (
project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com) die folgenden Rollen im Projekt zu:roles/storage.admin- Wenn Sie von On-Premise/HDFS migrieren, müssen Sie auch die Rolle
roles/storagetransfer.serviceAgentzuweisen.
Sie können auch detailliertere Berechtigungen konfigurieren. Weitere Informationen finden Sie in diesem Leitfaden:
Erforderliche Nutzerrollen und Berechtigungen
Damit der Dienst-Agent die erforderlichen Berechtigungen zum Erstellen, Ändern und Ausführen von Lakehouse REST-Katalogtabellen für die Apache Iceberg-Migration hat, bitten Sie Ihren Administrator, dem Dienst-Agenten die folgenden IAM-Rollen für den Nutzer zuzuweisen:
- Service Account User (
roles/iam.serviceAccountUser) - Migration Management Editor (
roles/bigquerymigration.migrationEditor)
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 Rollen und Berechtigungen für Dienstkonten
Damit das vom Kunden bereitgestellte Dienstkonto die erforderlichen Berechtigungen zum Erstellen, Ändern und Ausführen von Lakehouse REST-Katalogtabellen für die Apache Iceberg-Migration hat, bitten Sie Ihren Administrator, dem vom Kunden bereitgestellten Dienstkonto die folgenden IAM-Rollen zu gewähren:
-
Zugriff auf die Netzwerkverbindung:
Compute-Netzwerkadministrator (
roles/compute.networkAdmin) für das Dienstkonto -
Zugriff auf den BigQuery Data Transfer Service:
BigQuery-Administrator (
roles/bigquery.admin) für das Dienstkonto -
Zugriff auf Lakehouse-Ressourcen:
BigLake-Bearbeiter (
roles/biglake.editor) für das Dienstkonto -
Zugriff auf Secrets:
Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor) für das vom Kunden bereitgestellte Secret
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Ihr Administrator kann dem vom Kunden bereitgestellten Dienstkonto möglicherweise auch die erforderlichen Berechtigungen über benutzerdefinierte Rollen oder andere vordefinierte Rollen erteilen.
Sie müssen dem Dienst-Agent auch die Rolle roles/iam.serviceAccountTokenCreator mit dem folgenden Befehl zuweisen:
gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT --member user:bigquerymigration-management-borg@prod.google.com --role roles/iam.serviceAccountTokenCreator --project PROJECT_ID
gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT --member bigquerymigration-managementworker-borg@prod.google.com --role roles/iam.serviceAccountTokenCreator --project PROJECT_ID
Ersetzen Sie Folgendes:
SERVICE_ACCOUNT: die ID des DienstkontosPROJECT_ID: die Projekt-ID
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 OAuth 2.0-Client-IDCLIENT_SECRET: der OAuth 2.0-ClientschlüsselPOLARIS_REALM: der Bereich für den Polaris-Katalog. Dieses Feld ist nur für Apache Polaris erforderlich. Beispiel:FINANCE.SCOPE: (Optional) der OAuth 2.0-Bereich. Der Standardwert istPRINCIPAL_ROLE:ALL.
Lakehouse-Katalog erstellen
Lakehouse-Katalog erstellen 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:
Rufen Sie in der Google Cloud Console die Seite Migration ;> Dienste auf.
Klicken Sie unter Offenes Lakehouse registrieren oder migrieren auf Migration erstellen.
Führen Sie unter Migrationskonfiguration die folgenden Schritte aus:
- Wählen Sie als Katalogtyp einen externen Katalog aus.
Wählen Sie bei Region eine Region aus. Die ausgewählte Region bestimmt, wo die Migrationskoordination und die Datenübertragung ausgeführt werden. Außerdem wird festgelegt, wo der Migrationsdienst Ressourcen wie Netzwerkverbindungen oder Secrets verwendet oder erstellt.
Es werden nur regionale Secrets unterstützt. Die Region des Secrets muss mit der Region in diesem Feld übereinstimmen.
Geben Sie unter Anzeigename für die Migration einen Namen für diese Migration ein.
Führen Sie unter Quellsystemkonfiguration die folgenden Schritte aus:
- Geben Sie für URL die Basis-Endpunkt-URL ein, die als Einstiegspunkt für den Apache Iceberg- oder Apache Hive-Metastore dient.
- Wählen Sie unter Dienstkonto ein Dienstkonto aus der Liste aus. Wenn nicht angegeben, wird diese Migration mit den Nutzeranmeldedaten ausgeführt.
- Optional: Wählen Sie unter Netzwerkanhang einen Netzwerkanhang aus.
Klicken Sie auf Weiter.
Wenn die Metadatenmigration abgeschlossen ist, werden die Metadaten aus Ihren externen Katalogen in dem Cloud Storage-Bucket gespeichert, den Sie beim Erstellen des Lakehouse-Katalogs angegeben haben.
Preise
Für die Übertragung von Metadaten in Lakehouse Iceberg-REST-Katalogtabellen fallen keine Kosten an. Nach der Übertragung von Metadaten gelten die Lakehouse-Preise.