Versions auxiliaires

Cette page explique comment utiliser la fonctionnalité de versions auxiliaires avec Dataproc Metastore.

Les versions auxiliaires vous permettent de connecter deux versions différentes d'un métastore Hive à un seul service Dataproc Metastore. Cette configuration vous permet Plusieurs moteurs de traitement de données devant s'exécuter sur un métastore Hive différent versions.

Par exemple, à l'aide de versions auxiliaires, vous pouvez connecter plusieurs clusters Dataproc au même service Dataproc Metastore. Dans cette configuration, un cluster peut exécuter Dataproc version 2.0 l'autre exécute Dataproc version 1.5. Le cluster Dataproc 2.0 peut se connecter à un point de terminaison qui expose la version 3.1.2 de Hive, tandis que le Le cluster Dataproc 1.5 se connecte à un point de terminaison qui expose la version de Hive

Fonctionnement des versions auxiliaires

Lorsque vous activez des versions auxiliaires, Dataproc Metastore expose un point de terminaison distinct pour chaque version du métastore Hive. Toutefois, les points de terminaison partagent toujours la même base de données.

Cette fonctionnalité ne vous permet pas d'utiliser différents ensembles de métadonnées avec un seul service Dataproc Metastore. Il vous permet plutôt d'étendre et d'améliorer la compatibilité entre vos services.

Remarques

Général

  • Vous ne pouvez créer qu'une seule version auxiliaire pour chaque service Dataproc Metastore.

  • La version auxiliaire doit être configurée pour utiliser une version de metastore Hive antérieure à la version principale.

  • La version auxiliaire gère un fichier journal distinct de celui de la version principale. version. Pour déboguer les problèmes liés au métastore Hive, vous pouvez utiliser Cloud Logging.

Compatibilité des caractéristiques

  • La version auxiliaire n'est pas compatible avec les fonctionnalités suivantes :

  • Certaines méthodes Hive peuvent ne pas être compatibles entre l'auxiliaire et le version principale. Cette compatibilité dépend des versions de Hive que vous utilisez pour vos versions principales et auxiliaires, ainsi que des méthodes compatibles entre les versions de Hive.

  • La version auxiliaire n'est pas compatible avec toutes les fonctions d'une instance Dataproc Metastore principale. Par exemple, si vous insérez des enregistrements dans La table transactionnelle Hive n'est pas compatible avec l'interface d'un client Hive 2. avec une version auxiliaire 2.3.6. Toutefois, cette opération est compatible avec un client Hive 3 qui interagit avec la version principale 3.1.2.

    Si une fonctionnalité d'une version inférieure de Hive est obsolète dans une version supérieure de Hive, la version auxiliaire inférieure correspondante ne sera pas compatible avec la fonctionnalité obsolète. Par exemple, Hive 2 est compatible avec les index, mais une version auxiliaire exécutant Hive 2.3.6 n'est pas compatible avec l'index si la version principale exécute Hive 3.1.2.

  • La création de tables transactionnelles à l'aide de la version auxiliaire ou l'insertion de données dans des tables transactionnelles de la version auxiliaire sont empêchées.

Propriétés partagées entre les versions

Lorsque vous créez une version auxiliaire, certaines propriétés sont partagés et restent communs entre la version auxiliaire et la version principale version. Les autres propriétés ne sont pas partagées et sont distinctes des deux versions.

Le tableau suivant répertorie ces différences.

Propriétés Courant Séparer
Point de terminaison
Remplacements de configuration Hive*
Configuration Kerberos
Protocole de point de terminaison (Thrift/gRPC)
Port de compromis
Bucket Cloud Storage d'artefacts
Niveau
Intervalle de maintenance
Version disponible
Configuration du chiffrement
Database type (Type de base de données)
Activer/Désactiver la synchronisation de Data Catalog
Métrique "Nombre de requêtes"
Configurations réseau

* Les remplacements de configuration Hive restent séparés entre les instances auxiliaires et la version principale. Cependant, la version auxiliaire fait référence à une liste fusionnée des forçages (primaire et auxiliaire). Dans ce cas, la configuration auxiliaire prévaut sur la configuration principale.

Avant de commencer

Rôles requis

Pour obtenir l'autorisation nécessaire pour créer un Dataproc Metastore qui utilise des versions auxiliaires, demandez à votre administrateur de vous accorder le les rôles IAM suivants sur votre projet, selon le principe du moindre privilège:

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.

Ce rôle prédéfini contient metastore.services.create les autorisations, qui est nécessaire pour créer un service Dataproc Metastore qui utilise des versions auxiliaires ;

Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.

Pour en savoir plus sur les rôles et les rôles Dataproc Metastore spécifiques consultez Gérer l'accès à Dataproc avec IAM.

Créer une version auxiliaire pour un nouveau service

L'exemple suivant présente une version abrégée des étapes à suivre pour activer les versions auxiliaires. Pour obtenir des instructions détaillées sur l'ensemble du processus à suivre, consultez Créer un Dataproc Metastore.

Console

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

    Ouvrir Dataproc Metastore

  2. En haut de la page Dataproc Metastore, cliquez sur le bouton Créer.

    La page Create service (Créer un service) s'ouvre.

  3. Sous Configuration de la version auxiliaire, activez les versions auxiliaires.

  4. Cliquez sur Ajouter une version auxiliaire.

    1. Saisissez un nom pour votre version auxiliaire.

    2. Sélectionnez une version pour votre version auxiliaire.

    3. Facultatif : pour appliquer un mappage à la version auxiliaire, cliquez sur + Ajouter des remplacements.

    4. Cliquez sur OK.

  5. Choisissez les configurations restantes. pour votre service, selon les besoins.

  6. Cliquez sur Envoyer.

CLI gcloud

  1. Pour créer un service Dataproc Metastore avec une version auxiliaire, exécutez l'une des commandes gcloud metastore services create suivantes :

    gcloud metastore services create SERVICE \
        --location=LOCATION \
        --auxiliary-versions=AUXILIARY_VERSIONS, ...
    
    • SERVICE: nom de votre Service Dataproc Metastore.
    • LOCATION : région dans laquelle vous souhaitez créer votre service Dataproc Metastore.
    • AUXILIARY_VERSIONS : liste des versions du métastore Hive à déployer pour votre version auxiliaire, séparées par une virgule. Une seule version auxiliaire est compatible. Utilisez le format suivant : "2.3.6".
    • AUXILIARY_VERSIONS_FROM_FILE: chemin d'accès à un fichier YAML contenant la configuration des versions auxiliaires. Pour en savoir plus et obtenir un exemple, consultez la documentation du SDK.
  2. Vérifiez que la création a réussi.

curl

Pour créer un service Dataproc Metastore avec une version auxiliaire, utilisez la méthode create.

curl -X POST -s -i \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -d '{"network":"projects/PROJECT_ID/global/networks/default", "port": 9083, "hive_metastore_config": {"auxiliary_versions": {"aux-version1": {"version": "AUX_VERSION"} } } }' \
     -H "Content-Type:application/json" \
     https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services?service_id=SERVICE_ID

Remplacez les éléments suivants :

  • SERVICE_ID: nom de votre nouveau Service Dataproc Metastore.
  • PROJECT_ID : ID du projet Google Cloud dans lequel vous créez le service Dataproc Metastore.
  • LOCATION: région dans laquelle votre Dataproc Metastore réside.
  • AUX_VERSIONS: liste de fichiers Hive séparés par une virgule de métadonnées à déployer. Une seule version auxiliaire est compatible.

Mettre à jour une version auxiliaire pour un service existant

Les instructions suivantes vous expliquent comment mettre à jour un service Dataproc Metastore existant qui utilise des versions auxiliaires.

Lorsque vous exécutez une opération de mise à jour, vous pouvez effectuer les tâches suivantes:

  • Ajoutez une version auxiliaire.
  • Supprimez une version auxiliaire existante.
  • Ajoutez ou modifiez des forçages d'une version auxiliaire existante.

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 de service du que vous souhaitez mettre à jour.

    La page Détails du service s'ouvre.

  3. Dans l'onglet Configuration, cliquez sur Modifier.

    La page Modifier le service s'affiche.

  4. Dans la section Configuration de la version auxiliaire, cliquez sur le bouton pour activer ou désactiver les versions auxiliaires.

    Vous pouvez effectuer les tâches suivantes :

    1. Pour supprimer une version auxiliaire existante, cliquez sur Delete (Supprimer).

    2. Pour ajouter une version auxiliaire, cliquez sur Ajouter une version auxiliaire.

    3. Pour appliquer un mappage de forçage à une version auxiliaire, cliquez sur + Ajouter des forçages.

  5. Cliquez sur Envoyer.

CLI gcloud

  1. Pour mettre à jour un service Dataproc Metastore qui utilise une version auxiliaire, exécutez l'une des commandes gcloud metastore services update suivantes :

    gcloud metastore services update SERVICE \
       --location=LOCATION \
       --add-auxiliary-versions=AUXILIARY_VERSIONS, ...
    

    ou

    gcloud metastore services update SERVICE \
       --location=LOCATION \
       --update-auxiliary-versions-from-file=AUXILIARY_VERSIONS_FROM_FILE
    

    Remplacez les éléments suivants :

    • SERVICE: nom de votre Service Dataproc Metastore.
    • LOCATION: région dans laquelle votre Dataproc Metastore réside.
    • AUXILIARY_VERSIONS : liste des versions de métastore Hive auxiliaires à déployer, séparées par une virgule.
    • AUXILIARY_VERSIONS_FROM_FILE: chemin d'accès à un fichier YAML contenant la configuration des versions auxiliaires ; pour en savoir plus des informations et un exemple, consultez le Documentation du SDK
  2. Vérifiez que la mise à jour a bien été effectuée.

curl

Pour mettre à jour un service Dataproc Metastore qui utilise une version auxiliaire, utilisez la méthode patch.

curl -X PATCH -s -i \
   -H "Authorization: Bearer $(gcloud auth print-access-token)" \
   -d '{"hive_metastore_config": {"auxiliary_versions": {"aux-version1": {"version": "AUX_VERSION} } } }' \
   -H "Content-Type:application/json" \
   https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE_ID?update_mask=hive_metastore_config.auxiliary_versions

Remplacez les éléments suivants :

  • SERVICE_ID: nom de votre Service Dataproc Metastore.
  • PROJECT_ID: ID du projet Google Cloud pour lequel vous créez le Cluster de service Dataproc Metastore.
  • LOCATION: région dans laquelle votre Dataproc Metastore réside.
  • AUX_VERSIONS : liste des versions de métastore Hive auxiliaires à déployer, séparées par une virgule.

Étape suivante