Versions auxiliaires

Cette page explique comment utiliser la fonctionnalité des 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 d'être compatible avec plusieurs moteurs de traitement de données qui doivent s'exécuter sur différentes versions de métastore Hive.

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, tandis que 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 cluster Dataproc 1.5 se connecte à un point de terminaison qui expose la version 2.3.6 de Hive.

Fonctionnement des versions auxiliaires

Lorsque vous activez des versions auxiliaires, Dataproc Metastore expose un point de terminaison distinct pour chaque version de métastore Hive. Toutefois, les deux points de terminaison continuent de partager la même base de données de métadonné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.

Points à prendre en compte

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 métastore Hive inférieure à la version principale.

  • La version auxiliaire gère un fichier journal distinct de la version principale. 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 la version auxiliaire et la version principale. Cette compatibilité dépend des versions de Hive que vous utilisez pour vos versions principale et auxiliaire, ainsi que des méthodes compatibles entre ces versions.

  • Les fonctions d'une instance principale Dataproc Metastore ne sont pas toutes compatibles avec la version auxiliaire. Par exemple, l'insertion d'enregistrements dans une table transactionnelle Hive n'est pas possible avec un client Hive 2 en interface avec une version auxiliaire 2.3.6. Toutefois, cette opération est possible avec un client Hive 3 interagissant 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 n'est 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 ne sera pas compatible avec l'index si la version principale exécute Hive 3.1.2.

  • Vous ne pouvez pas créer de tables transactionnelles à l'aide de la version auxiliaire ni insérer de données dans des tables transactionnelles dans la version auxiliaire.

Propriétés partagées entre les versions

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

Le tableau suivant répertorie ces différences.

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

* Les remplacements de configuration Hive restent séparés entre la version auxiliaire et la version principale. Cependant, la version auxiliaire fait référence à une liste fusionnée des forçages (principal + auxiliaire). Dans ce cas, la configuration auxiliaire est prioritaire sur la configuration principale.

Avant de commencer

Rôles requis

Pour obtenir l'autorisation nécessaire pour créer un Dataproc Metastore utilisant des versions auxiliaires, demandez à votre administrateur de vous attribuer 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 section Gérer les accès.

Ce rôle prédéfini contient l'autorisation metastore.services.create, 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 autorisations spécifiques de Dataproc Metastore, consultez la page 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 la page Créer un service 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 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, si nécessaire.

  6. Cliquez sur Submit (Envoyer).

gcloud CLI

  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 acceptée. 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 où se trouve Dataproc Metastore.
  • AUX_VERSIONS: liste des versions du métastore Hive à déployer, séparées par une virgule. Une seule version auxiliaire est acceptée.

Mettre à jour une version auxiliaire d'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 remplacements 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 du service 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'ouvre.

  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 Supprimer.

    2. Pour ajouter une nouvelle version auxiliaire, cliquez sur Add Auxiliary Version (Ajouter une version auxiliaire).

    3. Pour appliquer un mappage de remplacement à une version auxiliaire, cliquez sur + Ajouter des remplacements.

  5. Cliquez sur Submit (Envoyer).

gcloud CLI

  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 où se trouve Dataproc Metastore.
    • AUXILIARY_VERSIONS: liste des versions auxiliaires du métastore Hive à 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 et obtenir un exemple, consultez la 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 dans lequel vous créez le cluster de service Dataproc Metastore.
  • LOCATION: région dans laquelle se trouve votre Dataproc Metastore.
  • AUX_VERSIONS: liste des versions auxiliaires du métastore Hive à déployer, séparées par une virgule.

Étapes suivantes