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.
Beim Aktivieren der Data Transfer API wird ein Dienst-Agent erstellt.
Berechtigungen konfigurieren
- 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. 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:
- Storage Transfer-Administrator (
roles/storagetransfer.admin) - Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer) - Storage-Administrator (
roles/storage.admin) -
Zum Migrieren von Metadaten in den Lakehouse-Laufzeitkatalog (Iceberg REST-Katalog oder Hive-Katalog):
BigLake-Administrator (
roles/biglake.admin)
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.s3ns-system.iam.gserviceaccount.com --role roles/iam.serviceAccountTokenCreator
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.serviceAgentzuweisen.
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:
- 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 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:
-
Zugriff auf den Netzwerkanhang:
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 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 DienstkontosPROJECT_ID: die Projekt-IDPROJECT_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-IDCLIENT_SECRET: der OAuth2.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 OAuth2.0-Bereich. Der Standardwert istPRINCIPAL_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:
Rufen Sie in der Cloud de Confiance Console die Seite Migration > Dienste auf.
Klicken Sie unter Offenes Lakehouse registrieren oder migrieren auf Migration erstellen.
Führen Sie unter Migrationskonfiguration folgende Schritte aus:
- Wählen Sie als Katalogtyp einen externen Katalog aus.
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.
Geben Sie unter Anzeigename der Migration einen Namen für diese Migration ein.
Führen Sie unter Konfiguration des Quellsystems folgende Schritte aus:
- Geben Sie unter 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 nichts angegeben ist, wird diese Migration mit den Nutzeranmeldedaten ausgeführt.
- (Optional) Wählen Sie unter Netzwerkanhang einen Netzwerkanhang aus.
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.