Cette page explique comment exporter des métadonnées à partir de Dataproc Metastore.
La fonctionnalité d'exportation des métadonnées vous permet d'enregistrer vos métadonnées dans un format de stockage portable.
Après avoir exporté vos données, vous pouvez importer les métadonnées dans un autre service Dataproc Metastore ou un métastore Hive (HMS) autogéré.
À propos de l'exportation des métadonnées
Lorsque vous exportez des métadonnées à partir de Dataproc Metastore, le service stocke les données dans l'un des formats de fichier suivants:
- Ensemble de fichiers Avro stockés dans un dossier.
- Un seul fichier de dump MySQL stocké dans un dossier Cloud Storage.
Avro
Les exportations basées sur Avro ne sont compatibles qu'avec les versions Hive 2.3.6 et 3.1.2. Lorsque vous exportez des fichiers Avro, Dataproc Metastore crée un fichier <table-name>.avro
pour chaque table de votre base de données.
Pour exporter des fichiers Avro, votre service Dataproc Metastore peut utiliser le type de base de données MySQL ou Spanner.
MySQL
Les exportations basées sur MySQL sont compatibles avec toutes les versions de Hive. Lorsque vous exportez des fichiers MySQL, Dataproc Metastore crée un seul fichier SQL contenant toutes les informations de vos tables.
Pour exporter des fichiers MySQL, votre service Dataproc Metastore doit utiliser le type de base de données MySQL. Le type de base de données Spanner n'est pas compatible avec les importations MySQL.
Avant de commencer
- Activez Dataproc Metastore dans votre projet.
- Comprendre les exigences de mise en réseau spécifiques à votre projet
- Créez un service Dataproc Metastore.
Rôles requis
Pour obtenir les autorisations nécessaires pour exporter des métadonnées vers Dataproc Metastore, demandez à votre administrateur de vous accorder les rôles IAM suivants:
-
Pour exporter des métadonnées :
-
Éditeur Dataproc Metastore (
roles/metastore.editor
) sur le service Dataproc Metastore -
Administrateur Dataproc Metastore (
roles/metastore.admin
) sur le service Dataproc Metastore -
Opérateur de métadonnées Dataproc Metastore (
roles/metastore.metadataOperator
) sur le service Dataproc Metastore
-
Éditeur Dataproc Metastore (
-
Pour MySQL et Avro, pour utiliser l'objet Cloud Storage à des fins d'exportation :
attribuez le rôle Créateur d'objets de stockage (
roles/storage.objectCreator
) à votre compte utilisateur et à l'agent de service Dataproc Metastore sur le bucket Cloud Storage.
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.
Ces rôles prédéfinis contiennent les autorisations requises pour exporter des métadonnées dans Dataproc Metastore. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour exporter des métadonnées vers Dataproc Metastore:
-
Pour exporter des métadonnées :
metastore.services.export
sur le service Metastore -
Pour MySQL et Avro, pour utiliser l'objet Cloud Storage à des fins d'exportation, accordez à votre compte utilisateur et à l'agent de service Dataproc Metastore :
storage.objects.create
sur le bucket Cloud Storage
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour en savoir plus sur les rôles et les autorisations spécifiques de Dataproc Metastore, consultez la page Présentation de l'IAM Dataproc Metastore.Exporter les métadonnées
Avant d'exporter vos métadonnées, prenez en compte les points suivants:
- Lorsqu'une exportation est en cours d'exécution, vous ne pouvez pas mettre à jour un service Dataproc Metastore (par exemple, en modifiant les paramètres de configuration). Toutefois, vous pouvez toujours l'utiliser pour les opérations normales, par exemple pour accéder à ses métadonnées à partir de clusters Dataproc ou autogérés associés.
- La fonctionnalité d'exportation des métadonnées n'exporte que les métadonnées. Les données créées par Apache Hive dans des tables internes ne sont pas répliquées lors de l'exportation.
Pour exporter des métadonnées à partir d'un service Dataproc Metastore, procédez comme suit :
Console
Dans la console Google Cloud, 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 Informations sur le service s'ouvre.
Dans la barre de navigation, cliquez sur Exporter.
La page Exporter les métadonnées s'ouvre.
Dans la section Destination, sélectionnez MySQL ou Avro.
Dans le champ URI de destination, cliquez sur Parcourir, puis sélectionnez l'URI Cloud Storage vers lequel vous souhaitez exporter vos fichiers.
Vous pouvez également saisir l'emplacement de votre bucket dans le champ de texte prévu à cet effet. Utilisez le format suivant:
bucket/object
oubucket/folder/object
.Pour démarrer l'exportation, cliquez sur Envoyer.
Une fois l'exportation terminée, elle apparaît dans un tableau sur la page Informations sur le service, dans l'onglet Importation/Exportation.
Une fois l'exportation terminée, Dataproc Metastore revient automatiquement à l'état actif, que l'exportation ait réussi ou non.
CLI gcloud
Pour exporter des métadonnées à partir d'un service, exécutez la commande
gcloud metastore services export gcs
suivante: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 de votre service Dataproc Metastore.LOCATION
: région Google Cloud dans laquelle se trouve votre service Dataproc Metastore.bucket-name/path/to/folder
: dossier de destination Cloud Storage dans lequel vous souhaitez stocker votre export.DUMP_TYPE
: type de vidage de la base de données à générer lors de l'exportation. Les valeurs acceptées incluentmysql
etavro
. La valeur par défaut estmysql
.
Vérifiez que l'exportation a réussi.
Une fois l'exportation terminée, Dataproc Metastore revient automatiquement à l'état actif, que l'exportation ait réussi ou non.
REST
Suivez les instructions de l'API pour exporter des métadonnées dans un service à l'aide de l'APIs Explorer d'API.
Une fois l'exportation terminée, le service revient automatiquement à l'état actif, que l'exportation ait réussi ou non.
Afficher l'historique des exportations
Pour afficher l'historique d'exportation d'un service Dataproc Metastore dans la console Google Cloud, procédez comme suit:
- Dans la console Google Cloud, ouvrez la page Dataproc Metastore.
Dans la barre de navigation, cliquez sur Importer/Exporter.
Votre historique des exportations s'affiche dans le tableau Historique des exportations.
L'historique affiche les 25 dernières exportations maximum.
La suppression d'un service Dataproc Metastore entraîne également la suppression de tout l'historique des exportations associé.
Résoudre les problèmes courants
Voici quelques problèmes courants:
- L'agent de service ou le compte utilisateur ne dispose pas des autorisations nécessaires.
- La tâche échoue, car le fichier de base de données est trop volumineux.
Pour obtenir de l'aide supplémentaire pour résoudre les problèmes courants, consultez Scénarios d'erreur d'importation et d'exportation.