Exporter des métadonnées depuis un service

Une exportation utilise les métadonnées stockées dans un service Dataproc Metastore et renvoie un dossier de fichiers Avro ou un fichier de vidage MySQL dans un dossier Cloud Storage. Pour l'exportation Avro, un fichier <table-name>.avro est créé pour chaque table.

Cette page explique comment exporter des métadonnées depuis un service Dataproc Metastore existant à l'aide de la console Google Cloud ouverte dans un navigateur local, de l'outil de ligne de commande gcloud du SDK Cloud ou de la méthode API Dataproc Metastore services.exportMetadata.

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 roles/metastore.admin, roles/metastore.editor et roles/metastore.metadataOperator propres à Dataproc Metastore permettent d'attribuer une autorisation d'exportation.

  • Vous pouvez également accorder l'autorisation d'exportation à des utilisateurs ou à des 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

Vous pouvez exporter les métadonnées d'un service en sélectionnant la destination d'exportation sur la page d'informations du service ouverte dans un navigateur local, à l'aide de l'outil gcloud ou en émettant une méthode API Dataproc Metastore services.exportMetadata.

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.

Vous pouvez exporter des métadonnées à partir d'un service Dataproc Metastore à l'aide de Google Cloud Console, de l'outil gcloud ou de l'API Dataproc Metastore :

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 la page Informations sur le service et que votre exportation apparaît sous Historique des exportations dans l'onglet Importation/Exportation.

gcloud

  1. Utilisez 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 l'élément suivant :

    • 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, que l'exportation ait réussi ou pas.

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

  • 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 des exportations associé à ce service.

É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