Dataproc Metastore-Metadaten zu BigLake Metastore migrieren

In diesem Dokument wird beschrieben, wie Sie das BigLake Metastore-Migrationstool verwenden, mit dem Sie Datenbank-, Tabellen- und Partitionsmetadaten aus einem Dataproc Metastore-Dienst in BigLake Metastore verschieben können.

Hinweise

  1. Aktivieren Sie die Abrechnung für Ihr Google Cloud -Projekt. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.
  2. Aktivieren Sie die BigQuery und Dataflow APIs.

    APIs aktivieren

  3. Optional: Weitere Informationen zu den 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) für das Dataflow-Dienstkonto, mit 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, mit dem 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 Dataproc Metastore extrahiert und in BigLake Metastore aufnimmt.

Sie können nicht direkt über BigLake Metastore auf Dataproc Metastore-Daten zugreifen. Dieser Migrationsprozess ist erforderlich, um Arbeitslasten oder Jobs für vorhandene Metadaten auszuführen. Wenn Sie dieses Tool nicht verwenden, müssen Sie die Metadaten manuell aus Dataproc Metastore extrahieren und in BigLake 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, wird mit dem Dataflow-Job eine vollständige Kopie der Metadaten aus Dataproc Metastore in BigLake Metastore erstellt.

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 Meldung in der Cloud Logging-Instanz des Projekts protokolliert, das den Dataflow-Job enthält.

Nachdem der Fehler protokolliert wurde, wird der Dataflow-Job mit der Verarbeitung anderer Tabellen und Datenbanken in der Pipeline fortgesetzt.

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, indem Sie den folgenden gcloud dataflow flex-template-Befehl ausführen.

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: Der URI des Dataproc Metastore-Dienstes.
  • DATABASE_LOCATION: Der Speicherort, an den BigLake Metastore Daten schreibt. Wenn Sie diesen Wert beispielsweise auf US festlegen, werden alle BigQuery-Ressourcen, die vom Tool erstellt werden, an diesem Standort 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.

Nächste Schritte