Migrer les métadonnées Dataproc Metastore vers le métastore BigQuery
.Ce document explique comment utiliser l'outil de migration du métastore BigQuery, qui vous aide à déplacer les métadonnées de base de données, de table et de partition d'un service de métastore Dataproc vers le métastore BigQuery.
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 éléments suivants :
- Découvrez le fonctionnement du métastore BigQuery et pourquoi vous devriez l'utiliser.
- Découvrez le fonctionnement de Dataflow et comment surveiller une tâche 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 la tâche de migration. -
Accordez un accès en lecture aux métadonnées Dataproc Metastore sur un point de terminaison gRPC :
Rôle de lecteur de métadonnées (
roles/metastore.metadataViewer
) sur le compte de service Dataflow qui exécute la tâche de migration.
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Fonctionnement de l'outil de migration
L'outil de migration démarre une tâche Dataflow qui extrait les métadonnées de Dataproc Metastore et les ingère dans BigQuery Metastore.
Vous ne pouvez pas accéder aux données Dataproc Metastore directement depuis le métastore BigQuery. Ce processus de migration est nécessaire pour exécuter des charges de travail ou des tâches 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 BigQuery 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, la tâche Dataflow crée une copie complète des métadonnées de Dataproc Metastore vers le métastore BigQuery.
Limites
L'outil de migration ne migre pas les métadonnées sans rapport avec les partitions de base de données et de table. 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 la tâche Dataflow.
Une fois l'erreur enregistrée, la tâche 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 une tâche 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 à exécuter pour la migration.DESTINATION_BIGQUERY_PROJECT_ID
: ID du projet BigQuery dans lequel la tâche Dataflow écrit des données.METASTORE_URI
: URI du service Dataproc Metastore.DATABASE_LOCATION
: emplacement où le métastore BigQuery é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 la tâche Dataflow. Uniquement requis pour les services Dataproc Metastore qui utilisent un point de terminaison Thrift.SUBNETWORK
(facultatif) : sous-réseau sur lequel exécuter la tâche Dataflow. Uniquement requis pour les services Dataproc Metastore qui utilisent un point de terminaison Thrift.
Étape suivante
- Utiliser le métastore BigQuery avec Dataproc
- Utiliser le métastore BigQuery avec Dataproc sans serveur