Migrer les métadonnées Dataproc Metastore vers BigLake Metastore
Ce document explique comment utiliser l'outil de migration de métastore BigLake, qui vous aide à transférer les métadonnées de base de données, de table et de partition d'un service Dataproc Metastore vers un métastore BigLake.
Avant de commencer
- Activez la facturation pour votre projet Google Cloud . Découvrez comment vérifier si la facturation est activée sur un projet.
Activez les API BigQuery et Dataflow.
Facultatif : En savoir plus sur les points suivants :
- Découvrez le fonctionnement de BigLake Metastore et pourquoi l'utiliser.
- Découvrez comment fonctionne Dataflow et comment surveiller un job en cours.
Rôles requis
Pour obtenir les autorisations nécessaires pour exécuter l'outil de migration, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Créez des bases de données, des tables et des partitions dans BigQuery :
Éditeur de données BigQuery (
roles/bigQuery.dataEditor
) sur le compte de service Dataflow qui exécute le job de migration. -
Accordez l'accès en lecture aux métadonnées Dataproc Metastore sur un point de terminaison gRPC :
Rôle Lecteur de métadonnées (
roles/metastore.metadataViewer
) sur le compte de service Dataflow qui exécute le job de migration.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Fonctionnement de l'outil de migration
L'outil de migration lance un job Dataflow qui extrait les métadonnées de Dataproc Metastore et les ingère dans BigLake Metastore.
Vous ne pouvez pas accéder directement aux données Dataproc Metastore à partir du metastore BigLake. Ce processus de migration est nécessaire pour exécuter des charges de travail ou des jobs sur des métadonnées existantes. Si vous n'utilisez pas cet outil, vous devez extraire manuellement les métadonnées de Dataproc Metastore et les ingérer dans BigLake Metastore.
Remarques
- L'outil de migration est compatible avec les instances Dataproc Metastore qui utilisent le protocole de point de terminaison gRPC ou Thrift.
- Chaque fois que vous exécutez l'outil de migration, le job Dataflow effectue une copie complète des métadonnées de Dataproc Metastore vers BigLake Metastore.
Limites
L'outil de migration ne migre pas les métadonnées qui ne sont pas liées aux partitions de bases de données et de tables. Si l'outil ne parvient pas à migrer une base de données ou une table, il consigne un message dans l'instance Cloud Logging du projet contenant le job Dataflow.
Une fois l'erreur consignée, le job Dataflow continue de traiter les autres tables et bases de données du pipeline.
Exécuter une migration avec l'outil
Pour exécuter une migration avec l'outil, créez un job de modèle Flex Dataflow en exécutant la commande gcloud dataflow
flex-template
suivante.
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]
Remplacez les éléments suivants :
JOB_NAME
: nom de la tâche Dataflow permettant d'exécuter la migration.DESTINATION_BIGQUERY_PROJECT_ID
: ID du projet BigQuery dans lequel la tâche Dataflow écrit les données.METASTORE_URI
: URI du service Dataproc Metastore.DATABASE_LOCATION
: emplacement dans lequel BigLake Metastore écrit les données. Par exemple, si vous définissez cette valeur surUS
, toutes les ressources BigQuery créées par l'outil sont stockées à cet emplacement.NETWORK
: facultatif : réseau sur lequel exécuter le job Dataflow. Obligatoire uniquement pour les services Dataproc Metastore qui utilisent un point de terminaison Thrift.SUBNETWORK
: facultatif : sous-réseau sur lequel exécuter le job Dataflow. Obligatoire uniquement pour les services Dataproc Metastore qui utilisent un point de terminaison Thrift.