Une exportation extrait 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, Dataproc Metastore crée un fichier <table-name>.avro
pour chaque table. Les exportations basées sur Avro sont compatibles avec les versions Hive 2.3.6 et 3.1.2.
Cette page explique comment exporter des métadonnées à partir d'un service Dataproc Metastore existant.
Avant de commencer
- La plupart des commandes
gcloud metastore
nécessitent un emplacement. Vous pouvez le spécifier à l'aide de l'option--location
ou en définissant l'emplacement par défaut.
Contrôle des accès
Pour exporter des métadonnées, vous devez demander un rôle IAM contenant l'autorisation IAM
metastore.services.export
. Les rôlesroles/metastore.admin
,roles/metastore.editor
etroles/metastore.metadataOperator
propres à Dataproc Metastore incluent 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
etroles/editor
.L'agent de service Dataproc Metastore (
service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com
) doit disposer de l'autorisationstorage.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.
- L'utilisateur qui crée l'exportation doit également disposer de l'autorisation
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 à partir d'un service, sélectionnez la destination d'exportation sur la page des détails du service ouverte dans un navigateur local, utilisez la CLI gcloud ou envoyez une méthode à l'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.
Pour exporter des métadonnées depuis un service Dataproc Metastore, procédez comme suit:
Console
Dans Google Cloud Console, ouvrez la page Dataproc Metastore:
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.
En haut de la page, cliquez sur le bouton Export (Exportation) La page Exporter les métadonnées s'affiche.
Sélectionnez la destination.
Recherchez et sélectionnez l'URI Cloud Storage où vous souhaitez stocker l'exportation.
Cliquez sur le bouton Submit (Envoyer) pour lancer l'exportation.
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
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. Valeur par défaut :mysql
.
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 en mode actif, que l'exportation ait réussi ou pas.
Pour afficher l'historique des exportations d'un service, accédez à l'onglet Importations/Exportations de la page Détails du service dans Google Cloud Console.
Mises en garde concernant l'exportation
Les exportations basées sur Avro sont compatibles avec les versions Hive 2.3.6 et 3.1.2.
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'autorisationstorage.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.
- L'utilisateur qui crée l'exportation ne dispose pas de l'autorisation
Votre fichier de base de données est trop volumineux et l'exécution du processus d'exportation prend plus d'une heure.
Étapes suivantes
- Importer des métadonnées dans un service
- Mettre à jour et supprimer un service
- Stockage de données pour les tables internes