Dataproc Metastore-Metadaten in den BigQuery Metastore migrieren
In diesem Dokument wird beschrieben, wie Sie das BigQuery-Metastore-Migrationstool verwenden, um Datenbank-, Tabellen- und Partitionsmetadaten von einem Dataproc Metastore-Dienst zum BigQuery-Metastore zu verschieben.
Hinweise
- Aktivieren Sie die Abrechnung für Ihr Google Cloud-Projekt. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.
Aktivieren Sie die BigQuery- und Dataflow APIs.
Optional: Weitere Informationen zu folgenden Themen:
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen des Migrationstools benötigen:
-
Erstellen Sie Datenbanken, Tabellen und Partitionen in BigQuery:
BigQuery-Dateneditor (
roles/bigQuery.dataEditor
) im Dataflow-Dienstkonto, in dem der Migrationsjob ausgeführt wird. -
Gewähren Sie Lesezugriff auf Dataproc Metastore-Metadaten über einen gRPC-Endpunkt:
Rolle „Metadaten-Betrachter“ (
roles/metastore.metadataViewer
) für das Dataflow-Dienstkonto, über das der Migrationsjob ausgeführt wird.
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.
Funktionsweise des Migrationstools
Das Migrationstool startet einen Dataflow-Job, der Metadaten aus dem Dataproc Metastore extrahiert und in den BigQuery Metastore aufnimmt.
Sie können nicht direkt über den BigQuery-Metastore auf Dataproc Metastore-Daten zugreifen. Dieser Migrationsprozess ist erforderlich, um Arbeitslasten oder Jobs auf vorhandenen Metadaten auszuführen. Wenn Sie dieses Tool nicht verwenden, müssen Sie die Metadaten manuell aus dem Dataproc-Metastore extrahieren und in den BigQuery-Metastore aufnehmen.
Hinweise
- Das Migrationstool unterstützt Dataproc Metastore-Instanzen, die entweder das gRPC- oder das Thrift-Endpunktprotokoll verwenden.
- Jedes Mal, wenn Sie das Migrationstool ausführen, erstellt der Dataflow-Job eine vollständige Kopie der Metadaten aus dem Dataproc Metastore im BigQuery Metastore.
Beschränkungen
Das Migrationstool migriert keine Metadaten, die nicht mit Datenbank- und Tabellenpartitionen zusammenhängen. Wenn das Tool eine Datenbank oder Tabelle nicht migrieren kann, wird eine Nachricht in der Cloud Logging-Instanz des Projekts protokolliert, das den Dataflow-Job enthält.
Nachdem der Fehler protokolliert wurde, verarbeitet der Dataflow-Job weiterhin andere Tabellen und Datenbanken in der Pipeline.
Migration mit dem Tool ausführen
Wenn Sie eine Migration mit dem Tool ausführen möchten, erstellen Sie einen Dataflow-Job mit flexibler Vorlage. Führen Sie dazu den folgenden Befehl gcloud dataflow
flex-template
aus.
gcloud dataflow flex-template run JOB_NAME" \ --template-file-gcs-location "gs://bigquery-metastore-migration/dpms_to_bqms_migration.json" \ --parameters bigQueryMetastoreProjectId="DESTINATION_BIGQUERY_PROJECT_ID" \ --parameters endpointUri="METASTORE_URI" \ --parameters bigQueryMetastoreDatabaseLocation=DATABASE_LOCATION \ [--network=NETWORK] \ [--subnetwork=SUBNETWORK]
Ersetzen Sie Folgendes:
JOB_NAME
: der Name des Dataflow-Jobs, mit dem die Migration ausgeführt werden soll.DESTINATION_BIGQUERY_PROJECT_ID
: die ID des BigQuery-Projekts, in das der Dataflow-Job Daten schreibt.METASTORE_URI
: die URI des Dataproc Metastore-Dienstes.DATABASE_LOCATION
: Der Speicherort, an den der BigQuery-Metastore Daten schreibt. Wenn Sie diesen Wert beispielsweise aufUS
festlegen, werden alle vom Tool erstellten BigQuery-Ressourcen an diesem Speicherort gespeichert.NETWORK
: Optional: Das Netzwerk, in dem der Dataflow-Job ausgeführt werden soll. Nur für Dataproc Metastore-Dienste erforderlich, die einen Thrift-Endpunkt verwenden.SUBNETWORK
: Optional: das Subnetzwerk, in dem der Dataflow-Job ausgeführt werden soll. Nur für Dataproc Metastore-Dienste erforderlich, die einen Thrift-Endpunkt verwenden.