Exporter des métadonnées depuis un service

Une exportation prend des métadonnées stockées dans un service Dataproc Metastore et renvoie un dossier de fichiers Avro ou de fichier de vidage MySQL dans un dossier Cloud Storage. Pour l'exportation Avro, Dataproc Metastore crée un fichier <table-name>.avro pour chaque table. Les exportations basées sur Avro sont compatibles avec les versions 2.3.6 et 3.1.2 de Hive.

Cette page explique comment exporter des métadonnées à partir d'un service Dataproc Metastore existant.

Avant de commencer

Contrôle des accès

  • Pour exporter des métadonnées, vous devez disposer d'un rôle IAM contenant l'autorisation IAM metastore.services.export. Les rôles spécifiques à Dataproc Metastore roles/metastore.admin, roles/metastore.editor et roles/metastore.metadataOperator incluent une autorisation d'exportation.

  • Vous pouvez accorder une autorisation d'exportation aux utilisateurs ou aux groupes à l'aide des anciens rôles roles/owner et roles/editor.

  • L'agent de service Dataproc Metastore (service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com) doit disposer de l'autorisation storage.objects.create sur la destination du bucket Cloud Storage pour votre exportation.

    • L'utilisateur qui crée l'exportation doit également disposer de l'autorisation storage.objects.create sur le bucket.
  • Si vous utilisez VPC Service Controls, vous ne pouvez exporter que des données vers un bucket Cloud Storage qui réside dans le même périmètre de service que le service Dataproc Metastore.

Pour en savoir plus, consultez la page IAM et contrôle des accès Dataproc Metastore.

Exporter des métadonnées depuis un service

Pour exporter des métadonnées depuis un service, sélectionnez la destination d'exportation sur la page des détails du service ouverte dans un navigateur local, utilisez l'élémentgcloud ou envoyer une méthode API Dataproc Metastoreservices.exportMétadonnées (Installation de Python groupée).

Lorsqu'une exportation est en cours d'exécution, aucune mise à jour ne peut être apportée au service. Vous pouvez continuer à utiliser le service lorsqu'une exportation est en cours.

Pour exporter des métadonnées à partir d'un service Dataproc Metastore, procédez comme suit:

Console

  1. Dans Cloud Console, ouvrez la page "Dataproc Metastore" :

    Ouvrir Dataproc Metastore dans Cloud Console

  2. Sur la page Dataproc Metastore, cliquez sur le nom du service à partir duquel vous souhaitez exporter les métadonnées. La page Service detail (Informations sur le service) s'affiche.

    Page d&#39;information sur le service
  3. En haut de la page, cliquez sur le bouton Export (Exportation) La page Exporter les métadonnées s'affiche.

  4. Sélectionnez la destination.

  5. Recherchez et sélectionnez l'URI Cloud Storage où vous souhaitez stocker l'exportation.

  6. Cliquez sur le bouton Submit (Envoyer) pour lancer l'exportation.

  7. Vérifiez que vous êtes revenu sur leInformations sur le service et que votre exportation apparaît sousHistorique des exportations sur la Importations/Exportations.

gcloud

  1. Exécutez la commande gcloud metastore services export gcs suivante pour exporter les métadonnées d'un service:

    gcloud metastore services export gcs SERVICE  \
        --location=LOCATION \
        --destination-folder=gs://bucket-name/path/to/folder \
        --dump-type=DUMP_TYPE
    

    Remplacez les éléments suivants :

    • SERVICE : nom du service.
    • LOCATION : fait référence à une région Google Cloud.
    • bucket-name/path/to/folder : fait référence au dossier de destination Cloud Storage.
    • DUMP_TYPE: type de vidage de la base de données. La valeur par défaut est mysql.
  2. Vérifiez que l'exportation a réussi.

REST

Suivez les instructions de l'API pour exporter des métadonnées dans un service à l'aide de l'explorateur d'API.

Une fois l'exportation terminée, le service passe automatiquement à l'état actif, qu'il ait abouti ou non.

Pour afficher l'historique d'exportation d'un service, reportez-vous à l'onglet Importation/Exportation sur la page Informations sur le service de Cloud Console.

Mises en garde concernant l'exportation

  • Les exportations basées sur Avro sont compatibles avec les versions 2.3.6 et 3.1.2 d'Hive.

  • L'historique des exportations précédentes est disponible dans l'interface utilisateur. La suppression du service entraîne la suppression de tout l'historique d'exportation qui lui est associé.

Échecs courants

  • L'agent de service Dataproc Metastore (service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com) ne dispose pas de l'autorisation storage.objects.create sur le bucket Cloud Storage utilisé pour les fichiers de vidage Avro ou MySQL.

    • L'utilisateur qui crée l'exportation ne dispose pas de l'autorisation storage.objects.create sur le bucket.
  • Votre fichier de base de données est trop volumineux et prend plus d'une heure pour terminer le processus d'exportation.

Étape suivante