Importer des métadonnées dans Dataproc Metastore

Cette page explique comment importer des métadonnées dans un service Dataproc Metastore.

La fonctionnalité d'importation de métadonnées vous permet de renseigner Service Dataproc Metastore avec des métadonnées stockées dans un format de stockage.

Ces métadonnées portables sont généralement exportées à partir d'un autre service Dataproc Metastore ou d'un métastore Hive (HMS) autogéré.

À propos de l'importation de métadonnées

Vous pouvez importer les formats de fichiers suivants dans Dataproc Metastore:

  • Ensemble de fichiers Avro stockés dans un dossier.
  • Un seul fichier de vidage MySQL stocké dans un dossier Cloud Storage.

Les fichiers MySQL ou Avro que vous importez doivent être générés à partir d'une base de données relationnelle.

Si vos fichiers sont dans un format différent, tel que PostgreSQL, vous devez les convertir au format Avro ou MySQL. Après la conversion, vous pouvez les importer dans Dataproc Metastore.

Avro

Les importations basées sur Avro ne sont compatibles qu'avec les versions Hive 2.3.6 et 3.1.2. Lors de l'importation de fichiers Avro, Dataproc Metastore attend une série de fichiers <table-name>.avro pour chaque table de votre base de données.

Pour importer des fichiers Avro, votre service Dataproc Metastore peut utiliser le type de base de données MySQL ou Spanner.

MySQL

Les importations basées sur MySQL sont compatibles avec toutes les versions de Hive. Lors de l'importation de fichiers MySQL, Dataproc Metastore attend un seul fichier SQL contenant toutes les informations de votre table. Les fichiers de vidage MySQL obtenus à partir d'un cluster Dataproc en langage SQL natif sont également compatibles.

Pour importer 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 MySQL des importations.

Remarques concernant l'importation

  • L'importation écrase toutes les métadonnées existantes stockées dans un Service Dataproc Metastore.

  • La fonctionnalité d'importation de métadonnées n'importe 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'importation.

  • L'importation ne transforme pas le contenu de la base de données et ne gère pas les fichiers la migration. Si vous déplacez vos données vers un autre emplacement, vous devez manuellement les emplacements des données de table et le schéma Service Dataproc Metastore.

  • L'importation ne restaure ni ne remplace les stratégies IAM précises.

  • Si vous utilisez VPC Service Controls, vous ne pouvez importer que des données d'un bucket Cloud Storage résidant dans le même périmètre de service que le service Dataproc Metastore.

Avant de commencer

Rôles requis

Pour obtenir les autorisations nécessaires pour importer des métadonnées dans Dataproc Metastore, demandez à votre administrateur de vous accorder le rôles IAM suivants:

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 importer 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 importer des métadonnées dans Dataproc Metastore:

  • Pour importer des métadonnées : metastore.imports.create sur le service Metastore.
  • Pour MySQL, pour utiliser l'objet Cloud Storage (fichier de dump SQL) pour l'importation, accordez votre compte utilisateur et l'agent de service Dataproc Metastore: storage.objects.get sur le bucket Cloud Storage contenant le fichier de vidage des métadonnées en cours d'importation.
  • Pour Avro, pour utiliser le bucket Cloud Storage pour l'importation, accordez à votre compte utilisateur et à l'agent de service Dataproc Metastore la commande suivante: storage.objects.get sur le bucket Cloud Storage contenant le fichier de vidage des métadonnées en cours d'importation.

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 à Dataproc Metastore, consultez la page Présentation d'IAM de Dataproc Metastore.

Importer vos métadonnées

L'opération d'importation est un processus en deux étapes. Tout d'abord, préparez vos fichiers d'importation puis les importer dans Dataproc Metastore.

Lorsque vous démarrez une importation, Dataproc Metastore effectue une validation de schéma de métadonnées Hive. Cette validation vérifie les tables du fichier de vidage SQL et les noms des fichiers pour Avro. Si une table est manquante, l'importation échoue et affiche un message d'erreur décrivant la table manquante.

Pour vérifier la compatibilité des métadonnées Hive avant une importation, vous pouvez utiliser le kit Dataproc Metastore.

Préparer les fichiers d'importation avant l'importation

Avant de pouvoir importer vos fichiers dans Dataproc Metastore, vous devez copier vos fichiers de vidage de métadonnées dans Cloud Storage, par exemple dans votre bucket Cloud Storage d'artefacts.

Déplacer vos fichiers vers Cloud Storage

  1. Créez un fichier de vidage de la base de données externe dans laquelle vous souhaitez importer les données. Dataproc Metastore.

    Pour savoir comment créer un fichier de vidage de la base de données, consultez les pages suivantes:

  2. Importez les fichiers dans Cloud Storage.

    Veillez à noter le chemin d'accès Cloud Storage vers lequel vous importez vos fichiers. vous devrez l'utiliser ultérieurement pour effectuer l'importation.

    • Si vous importez des fichiers MySQL, importez le fichier SQL dans un bucket Cloud Storage.

    • Si vous importez des fichiers Avro, importez-les dans un Dossier Cloud Storage.

      • Votre importation Avro doit inclure un fichier Avro pour chaque table Hive, même si la table est vide.
      • Les noms de fichiers Avro doivent respecter le format <table-name>.avro. L'élément <table-name> doit être tout en majuscules. Par exemple, AUX_TABLE.avro.

Importer les fichiers dans Dataproc Metastore

Avant d'importer des métadonnées, consultez les considérations à prendre en compte.

Lorsqu'une importation est en cours, vous ne pouvez pas mettre à jour un service Dataproc Metastore (par exemple, en modifiant les paramètres de configuration). Cependant, vous pouvez vous l'utiliserez pour des opérations normales, par exemple pour accéder à ses métadonnées Dataproc ou des clusters autogérés.

Console

  1. Dans la console Google Cloud, ouvrez la page Dataproc Metastore:

    Ouvrir Dataproc Metastore

  2. Sur la page Dataproc Metastore, cliquez sur le nom du service dans lequel vous souhaitez importer les métadonnées.

    La page Détails du service s'ouvre.

    Page d&#39;information sur le service
    Figure 1. Page d'informations sur le service Dataproc Metastore.
  3. Dans la barre de navigation, cliquez sur Import (Importer).

    La boîte de dialogue Importer s'ouvre.

  4. Saisissez le nom de l'importation dans Import name.

  5. Dans la section Destination, choisissez MySQL ou Avro.

  6. Dans le champ URI de destination, cliquez sur Parcourir, puis sélectionnez l'URI Cloud Storage dans lequel vous souhaitez importer vos fichiers.

    Vous pouvez également saisir manuellement l'emplacement de votre bucket dans le champ de texte fourni. Utilisez le format suivant : bucket/object ou bucket/folder/object.

  7. (Facultatif) Saisissez une Description de l'importation.

    Vous pouvez modifier la description sur la page Service detail (Informations sur le service).

  8. Pour mettre à jour le service, cliquez sur Importer.

    Une fois l'importation terminée, elle apparaît dans un tableau sur la page Informations sur le service, dans l'onglet Importation/Exportation.

CLI gcloud

  1. Pour importer des métadonnées, exécutez la commande gcloud metastore services import gcs suivante commande:

    gcloud metastore services import gcs SERVICE_ID \
      --location=LOCATION \
      --import-id=IMPORT_ID \
      --description=DESCRIPTION \
      --dump-type=DUMP_TYPE \
      --database-dump=DATABASE_DUMP
    

    Remplacez les éléments suivants :

    • SERVICE_ID : ID ou nom complet de votre service Dataproc Metastore.
    • LOCATION: région Google Cloud dans laquelle se trouve votre service Dataproc Metastore.
    • IMPORT_ID: ID ou nom complet de votre importation de métadonnées. Exemple :import1
    • DESCRIPTION (facultatif) : description de votre importation. Vous pourrez modifier cette adresse ultérieurement en utilisant la commande gcloud metastore services imports update IMPORT.
    • DUMP_TYPE: type de la base de données externe que vous importez. Les valeurs acceptées incluent mysql et avro. La valeur par défaut est mysql.
    • DATABASE_DUMP: chemin d'accès à Cloud Storage contenant le fichiers de base de données. Ce chemin d'accès doit commencer par gs://. Pour Avro, indiquez le chemin d'accès au dossier où sont stockés les fichiers Avro (dossier Cloud Storage). Pour MySQL, indiquez le chemin d'accès au fichier MySQL (objet Cloud Storage).
  2. Vérifiez que l'importation a réussi.

REST

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

L'API vous permet de créer, répertorier, décrire et mettre à jour des importations, mais vous ne pouvez pas supprimer d'importations. Toutefois, la suppression d'un service Dataproc Metastore entraîne la suppression de toutes les importations imbriquées stockées.

Une fois l'importation réussie, Dataproc Metastore revient automatiquement à l'état actif. Si l'importation échoue, Dataproc Metastore revient à son état opérationnel précédent.

Afficher l'historique des importations

Pour afficher l'historique des importations d'un service Dataproc Metastore dans la console Google Cloud, procédez comme suit:

  1. Dans la console Google Cloud, ouvrez la page Dataproc Metastore.
  2. Dans la barre de navigation, cliquez sur Importer/Exporter.

    L'historique des importations s'affiche dans le tableau Historique des importations.

    L'historique affiche les 25 dernières importations maximum.

La suppression d'un service Dataproc Metastore entraîne également la suppression de l'historique des importations associé.

Résoudre les problèmes courants

Voici quelques problèmes courants:

Pour obtenir de l'aide sur la résolution des problèmes courants, consultez Scénarios d'erreur d'importation et d'exportation.

Étape suivante