Créer un service Dataproc Metastore

Cette page explique comment créer un service Dataproc Metastore.

Après avoir créé votre service Dataproc Metastore, vous pouvez importer des métadonnées et vous connecter à l'un des services suivants :

Une fois que vous avez associé l'un de ces services, il utilise votre service Dataproc Metastore comme métastore Hive lors de l'exécution des requêtes.

Avant de commencer

Rôles requis

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

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient l'autorisation metastore.services.create, qui est requise pour créer un Dataproc Metastore.

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 Dataproc Metastore spécifiques, consultez Gérer les accès avec IAM.

Créer Dataproc Metastore à l'aide des paramètres par défaut

La création d'un service Dataproc Metastore à l'aide des paramètres par défaut configure votre service avec un niveau Enterprise, une taille d'instance moyenne, la dernière version de Hive Metastore, un point de terminaison Thrift et un emplacement de données us-central1.

Dataproc Metastore 2

Les instructions suivantes vous expliquent comment créer un Dataproc Metastore 2 à l'aide d'un point de terminaison Thrift et d'autres paramètres par défaut fournis.

Console

  1. Dans la console Google Cloud , accédez à la page Dataproc Metastore.

    Accéder à Dataproc Metastore

  2. Dans la barre de navigation, cliquez sur + Créer.

    La boîte de dialogue Créer un service Metastore s'ouvre.

  3. Sélectionnez Dataproc Metastore 2.

  4. Dans la section Tarification et capacité, choisissez une taille d'instance.

    Pour en savoir plus, consultez les forfaits et les configurations de scaling.

  5. Dans le champ Nom du service, saisissez un nom unique pour votre service.

    Pour en savoir plus sur les conventions d'attribution de noms, consultez Convention d'attribution de noms aux ressources.

  6. Sélectionnez Data location (Emplacement des données).

    Pour en savoir plus sur la sélection de la région appropriée, consultez Régions et zones disponibles et Point de terminaison régional.

  7. Pour les autres options de configuration du service, utilisez les valeurs par défaut fournies.

  8. Pour créer et démarrer le service, cliquez sur Envoyer.

    Votre nouveau service de métastore s'affiche sur la page Dataproc Metastore. L'état indique Création en cours jusqu'à ce que le service soit prêt à être utilisé. Une fois la clé prête, son état passe à Active. Le provisionnement du service peut prendre quelques minutes.

CLI gcloud

Pour créer un service metastore Dataproc Metastore 2 à l'aide des valeurs par défaut fournies, exécutez la commande gcloud metastore services create suivante :

gcloud metastore services create SERVICE \
  --location=LOCATION \
  --instance-size=INSTANCE_SIZE \
  --scaling-factor=SCALING_FACTOR

Remplacez les éléments suivants :

  • SERVICE : nom de votre nouveau service Dataproc Metastore.
  • LOCATION : région Google Cloud dans laquelle vous souhaitez créer votre Dataproc Metastore. Vous pouvez également définir un emplacement par défaut.

    Pour en savoir plus sur les conventions d'attribution de noms, consultez Convention d'attribution de noms aux ressources.

  • INSTANCE_SIZE : taille de l'instance de votre Dataproc Metastore multirégional. Par exemple, small, medium ou large. Si vous spécifiez une valeur pour INSTANCE_SIZE, ne spécifiez pas de valeur pour SCALING_FACTOR.

  • SCALING_FACTOR : facteur de scaling de votre service Dataproc Metastore. Par exemple, 0.1. Si vous spécifiez une valeur pour SCALING_FACTOR, ne spécifiez pas de valeur pour INSTANCE_SIZE.

REST

Suivez les instructions de l'API pour créer un service à l'aide de l&#APIs Explorer d'API.

Dataproc Metastore 1

Les instructions suivantes vous expliquent comment créer un Dataproc Metastore 1 à l'aide d'un point de terminaison Thrift et d'autres paramètres par défaut fournis.

Console

  1. Dans la console Google Cloud , accédez à la page Dataproc Metastore.

    Accéder à Dataproc Metastore

  2. Dans la barre de navigation, cliquez sur + Créer.

    La boîte de dialogue Créer un service Metastore s'ouvre.

  3. Sélectionnez Dataproc Metastore 1.

  4. Dans le champ Nom du service, saisissez un nom unique pour votre service.

    Pour en savoir plus sur les conventions d'attribution de noms, consultez Convention d'attribution de noms aux ressources.

  5. Sélectionnez Data location (Emplacement des données).

    Pour en savoir plus sur la sélection de la région appropriée, consultez Régions et zones disponibles et Point de terminaison régional.

  6. Pour les autres options de configuration du service, utilisez les valeurs par défaut fournies.

  7. Pour créer et démarrer le service, cliquez sur Envoyer.

    Votre nouveau service de métastore s'affiche sur la page Dataproc Metastore. L'état indique Création en cours jusqu'à ce que le service soit prêt à être utilisé. Une fois la clé prête, son état passe à Active. Le provisionnement du service peut prendre quelques minutes.

CLI gcloud

Pour créer un service metastore de base à l'aide des valeurs par défaut fournies, exécutez la commande gcloud metastore services create suivante :

gcloud metastore services create SERVICE \
  --location=LOCATION

Remplacez les éléments suivants :

REST

Suivez les instructions de l'API pour créer un service à l'aide de l'explorateur d'API.

Créer un service Dataproc Metastore à l'aide des paramètres avancés

La création d'un Dataproc Metastore à l'aide des paramètres avancés vous montre comment modifier des configurations telles que les configurations réseau, les paramètres de scaling, les paramètres de point de terminaison, les paramètres de sécurité et les fonctionnalités facultatives.

Dataproc Metastore 2 ou 1

Les instructions suivantes vous montrent comment créer un service Dataproc Metastore 2 ou Dataproc Metastore 1 à l'aide de paramètres avancés.

Console

Commencer

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

    Ouvrir Dataproc Metastore

  2. Dans le menu de navigation, cliquez sur + Créer.

    La boîte de dialogue Créer un service Metastore s'ouvre.

  3. Sélectionnez la version de Metastore que vous souhaitez utiliser : Dataproc Metastore 1 ou Dataproc Metastore 2.

    Infos sur le service

    Page "Créer un service"
    Exemple de la page create service

    1. (Facultatif) Pour Dataproc Metastore 2 : Dans la section Tarification et capacité, choisissez une taille d'instance.

      Pour en savoir plus, consultez les forfaits et les configurations de scaling.

    2. Dans le champ Nom du service, saisissez un nom unique pour votre service.

      Pour en savoir plus sur les conventions d'attribution de noms, consultez Convention d'attribution de noms aux ressources.

    3. Sélectionnez Data location (Emplacement des données).

      Pour en savoir plus sur la sélection de la région appropriée, consultez Régions et zones disponibles et Point de terminaison régional.

    4. Sélectionnez la Version du métastore Hive.

      Si cette valeur n'est pas modifiée, votre service utilise la dernière version compatible de Hive (actuellement la version 3.1.2).

      Pour en savoir plus sur la sélection de la version appropriée, consultez les Règles de versions.

    5. Sélectionnez la version disponible.

      Si cette valeur n'est pas modifiée, votre metastore utilise la valeur Stable. Pour en savoir plus, consultez Canal de publication.

    6. Saisissez le port TCP.

      Port TCP auquel votre point de terminaison Thrift se connecte. Si cette valeur n'est pas modifiée, le numéro de port 9083 est utilisé. Si vous remplacez votre point de terminaison par gRPC, cette valeur passe automatiquement à 443 et ne peut pas être modifiée.

    7. (Facultatif) Pour Dataproc Metastore 1 : Sélectionnez le niveau de service.

      Le niveau de service a une incidence sur la capacité de votre service. Pour en savoir plus, consultez Niveau de service.

    Protocole du point de terminaison

    • Facultatif : Choisissez un protocole de point de terminaison.

      L'option Apache Thrift est sélectionnée par défaut. Pour en savoir plus sur les différents points de terminaison, consultez Choisir le protocole du point de terminaison.

    Configuration du réseau

    1. Sélectionnez une configuration réseau.

      Par défaut, votre service n'est exposé que dans un seul réseau VPC et utilise le réseau default. Le réseau default permet uniquement à votre service de se connecter à d'autres services du même projet.

      Modifiez les paramètres réseau par défaut pour effectuer les actions suivantes :

      • Connectez votre service Dataproc Metastore à des services Dataproc Metastore dans d'autres projets.
      • Utilisez votre service Dataproc Metastore avec d'autres servicesGoogle Cloud , tels que le cluster Dataproc.
    2. Facultatif : Cliquez sur Utiliser un réseau VPC partagé, puis saisissez l'ID du projet et le nom du réseau VPC.

    3. Facultatif : Cliquez sur Rendre les services accessibles dans plusieurs sous-réseaux VPC, puis sélectionnez les sous-réseaux. Vous pouvez spécifier jusqu'à cinq sous-réseaux.

    4. Cliquez sur OK.

    Intégration des métadonnées

    Intervalle de maintenance

    • Facultatif : sélectionnez le jour de la semaine et l'heure de la journée pour votre intervalle de maintenance.

      Pour en savoir plus, consultez Intervalles de maintenance.

    Sécurité

    1. Facultatif : Activez Kerberos.

      1. Pour activer Kerberos, cliquez sur le bouton d'activation.
      2. Sélectionnez ou saisissez l'ID de ressource du secret.
      3. Vous pouvez soit utiliser la dernière version du secret, soit sélectionner une version plus ancienne.
      4. Saisissez le principal Kerberos.

        Il s'agit du compte principal alloué à ce service Dataproc Metastore.

      5. Accédez au fichier de configuration krb5.

    2. (Facultatif) Choisissez un type de chiffrement.

      • L'option sélectionnée par défaut est Google-managed encryption key.

      • Pour sélectionner une clé gérée par le client, cliquez sur Utiliser une clé de chiffrement gérée par le client (CMEK).

        Pour en savoir plus, consultez la section Utiliser des clés de chiffrement gérées par le client.

    Remplacements de configuration du metastore

    • Facultatif: pour appliquer un mappage au métastore Hive, cliquez sur + Ajouter des remplacements.

    Configuration de la version auxiliaire

    • Facultatif : Pour ajouter une configuration de version auxiliaire, cliquez sur Activer.

      Pour en savoir plus, consultez Versions auxiliaires.

    Type de base de données

    • Facultatif : Choisissez un type de base de données.

      Dans le champ Type de base de données, sélectionnez MySQL ou Spanner. MySQL est le type de base de données par défaut.

      Pour en savoir plus sur le choix d'un type de base de données spécifique, consultez Types de bases de données.

    Libellés

    • Facultatif : Pour ajouter ou supprimer des libellés facultatifs décrivant vos métadonnées, cliquez sur + Ajouter des libellés.

Démarrer le service

Pour créer et démarrer le service, cliquez sur Envoyer.

Votre nouveau service de métastore s'affiche sur la page Dataproc Metastore. L'état indique Création en cours jusqu'à ce que le service soit prêt à être utilisé. Une fois la clé prête, son état passe à Active. Le provisionnement du service peut prendre quelques minutes.

CLI gcloud

  1. Pour créer un metastore, exécutez la commande gcloud metastore services create suivante :

    gcloud metastore services create SERVICE \
      --location=LOCATION \
      --instance-size=INSTANCE_SIZE \
      --scaling-factor=SCALING_FACTOR \
      --port=PORT \
      --tier=TIER \
      --endpoint-protocol=ENDPOINT_PROTOCOL \
      --database-type=DATABASE_TYPE \
      --hive-metastore-version=HIVE_METASTORE_VERSION \
      --data-catalog-sync=DATA_CATALOG_SYNC \
      --release-channel=RELEASE_CHANNEL \
      --hive-metastore-configs=METADATA_OVERRIDE \
      --labels=LABELS \
      --auxiliary-versions=AUXILIARY_VERSION \
      --network=NETWORK \
      --consumer-subnetworks="projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET1, projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET2" \
      --kerberos-principal=KERBEROS_PRINCIPAL \
      --krb5-config=KRB5_CONFIG \
      --keytab=CLOUD_SECRET \
      --encryption-kms-key=KMS_KEY

    Remplacez les éléments suivants :

    Paramètres des services :

    • SERVICE : nom de votre nouveau service Dataproc Metastore.
    • LOCATION : région Google Cloud dans laquelle vous souhaitez créer votre Dataproc Metastore. Vous pouvez également définir un emplacement par défaut.
    • PORT : (facultatif) port TCP utilisé par votre point de terminaison Thrift. Si ce paramètre n'est pas défini, le port 9083 est utilisé. Si vous choisissez d'utiliser un point de terminaison gRPC, votre numéro de port est automatiquement remplacé par 443.
    • TIER : facultatif pour Dataproc Metastore 1 : Niveau de service de votre nouveau service. Si ce paramètre n'est pas défini, la valeur Developer est utilisée.
    • ENDPOINT_PROTOCOL : Facultatif : choisissez le protocole de point de terminaison pour votre service.
    • DATABASE_TYPE : facultatif : choisissez le type de base de données pour votre service. Pour en savoir plus sur le choix d'un type de base de données spécifique, consultez Types de bases de données.
    • DATA_CATALOG_SYNC : (facultatif) activez la fonctionnalité Synchronisation avec Data Catalog.
    • HIVE_METASTORE_VERSION : facultatif : version du metastore Hive que vous souhaitez utiliser avec votre service. Exemple : 3.1.2. Si elle n'est pas définie, la dernière version de Hive est utilisée.
    • RELEASE_CHANNEL : (facultatif) version disponible du service. Si ce paramètre n'est pas défini, la valeur Stable est utilisée.
    • METADATA_OVERRIDE : (facultatif) configurations de remplacement du métastore Hive que vous souhaitez appliquer à votre service. Utilisez une liste séparée par des virgules au format suivant : k1=v1,k2=v2,k3=v3.
    • LABELS : facultatif : paires clé/valeur permettant d'ajouter des métadonnées à votre service. Utilisez une liste séparée par des virgules au format suivant : k1=v1,k2=v2,k3=v3. Dataproc Metastore
    • AUXILIARY_VERSION : (facultatif) active les versions auxiliaires. Pour en savoir plus, consultez Versions auxiliaires.

    Paramètres de scaling :

    • INSTANCE_SIZE : facultatif pour Dataproc Metastore 2 : la taille de l'instance de votre Dataproc Metastore multirégional. Par exemple, small, medium ou large. Si vous spécifiez une valeur pour INSTANCE_SIZE, ne spécifiez pas de valeur pour SCALING_FACTOR.
    • SCALING_FACTOR : facultatif pour Dataproc Metastore 2 : facteur de scaling de votre service Dataproc Metastore. Par exemple, 0.1. Si vous spécifiez une valeur pour SCALING_FACTOR, ne spécifiez pas de valeur pour INSTANCE_SIZE.

    Paramètres réseau :

    • NETWORK : nom du réseau VPC auquel vous connectez votre service. Si ce paramètre n'est pas défini, la valeur default est utilisée.

      Si vous utilisez un réseau VPC appartenant à un projet différent de celui de votre service, vous devez fournir l'intégralité du nom de ressource relatif. Par exemple, projects/HOST_PROJECT/global/networks/NETWORK_ID.

    • SUBNET1, SUBNET2 : facultatif, liste des sous-réseaux pouvant accéder à votre service. Vous pouvez utiliser l'ID, l'URL complète ou le nom relatif du sous-réseau. Vous pouvez spécifier jusqu'à cinq sous-réseaux.

    Paramètres Kerberos :

    • KERBEROS_PRINCIPAL : (facultatif) principal Kerberos existant dans le fichier keytab et le KDC. Un principal se présente généralement sous la forme "primary/instance@REALM", mais il n'existe pas de format strictement défini.
    • KRB5_CONFIG : (facultatif) le fichier krb5.config spécifie les informations du KDC et du domaine Kerberos, qui incluent les emplacements des KDC et les valeurs par défaut du domaine et des applications Kerberos.
    • CLOUD_SECRET : (facultatif) nom de ressource relatif d'une version de secret Secret Manager.
    • KMS_KEY : ID de ressource de la clé (facultatif).
  2. Vérifiez que la création a réussi.

REST

Suivez les instructions de l'API pour créer un service à l'aide de l'explorateur d'API.

Définir un remplacement de configuration du métastore Hive pour Dataproc Metastore

Si votre répertoire d'entrepôt Apache Hive se trouve sur Cloud Storage, vous devez définir un remplacement de configuration du métastore. Ce remplacement définit votre entrepôt de données personnalisé comme répertoire d'entrepôt par défaut pour votre service Dataproc Metastore.

Avant de définir ce remplacement, assurez-vous que votre service Dataproc Metastore dispose d'autorisations de lecture et d'écriture d'objets pour accéder au répertoire de l'entrepôt. Pour en savoir plus, consultez la section Répertoire d'entrepôt Hive.

Les instructions suivantes vous montrent comment définir un remplacement de configuration Hive Metastore pour un nouveau service Dataproc Metastore.

Console

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

    Ouvrir Dataproc Metastore

  2. Dans la barre de navigation, cliquez sur + Créer.

  3. Dans Remplacements de la configuration du metastore, saisissez les valeurs suivantes :

    • Clé : hive.metastore.warehouse.dir.
    • Valeur : emplacement Cloud Storage de votre répertoire d'entrepôt. Exemple : gs://my-bucket/path/to/location.
  4. Configurez les options de service restantes si nécessaire ou utilisez les valeurs par défaut fournies.

  5. Cliquez sur Envoyer.

    Revenez à la page Dataproc Metastore et vérifiez que votre service a bien été créé.

CLI gcloud

  1. Pour créer un service Dataproc Metastore avec un remplacement Hive, exécutez la commande gcloud metastore services create suivante :

    gcloud metastore services create SERVICE \
      --location=LOCATION \
      --hive-metastore-configs="hive.metastore.warehouse.dir=CUSTOMER_DIR"
    

    Remplacez les éléments suivants :

    • SERVICE : nom de votre nouveau service Dataproc Metastore.
    • LOCATION : région Google Cloud dans laquelle vous souhaitez créer votre Dataproc Metastore. Vous pouvez également définir un emplacement par défaut.
    • CUSTOMER_DIR : emplacement Cloud Storage de votre répertoire d'entrepôt. Exemple : gs://my-bucket/path/to/location.
  2. Vérifiez que la création a réussi.

Créer un Dataproc Metastore avec autoscaling

Dataproc Metastore 2 est compatible avec l'autoscaling. Si vous activez l'autoscaling, vous pouvez définir un facteur de scaling minimal et un facteur de scaling maximal. Une fois cette valeur définie, votre service augmente ou diminue automatiquement le facteur de scaling nécessaire à l'exécution de vos charges de travail.

Considérations relatives à l'autoscaling

  • L'autoscaling et les facteurs de scaling sont des options qui s'excluent mutuellement. Par exemple, si vous activez l'autoscaling, vous ne pouvez pas définir manuellement un facteur ou une taille de scaling.
  • L'autoscaling n'est disponible que pour les instances Dataproc Metastore à région unique.
  • Lorsque l'autoscaling est activé, les paramètres de facteurs de scaling existants sont effacés.
  • Lorsque l'autoscaling est désactivé :
    • Les paramètres d'autoscaling existants sont effacés.
    • Le facteur de scaling est défini sur la dernière valeur autoscaling_factor configurée sur le service.
  • Les facteurs d'autoscaling minimal et maximal sont facultatifs. Si elles ne sont pas définies, les valeurs par défaut sont respectivement 0.1 et 6.

Sélectionnez l'un des onglets suivants pour découvrir comment créer un service Dataproc Metastore 2 avec l'autoscaling activé.

Console

  1. Dans la console Google Cloud , accédez à la page Dataproc Metastore.

    Accéder à Dataproc Metastore

  2. Dans la barre de navigation, cliquez sur + Créer.

    La boîte de dialogue Créer un service Metastore s'ouvre.

  3. Sélectionnez Dataproc Metastore 2.

  4. Dans la section Tarifs et capacité, sélectionnez Enterprise – Région unique.

  5. Sous Taille de l'instance, cliquez sur Activer l'autoscaling.

  6. Sous Taille de l'instance, utilisez le curseur pour choisir une taille d'instance minimale et maximale.

  7. Pour créer et démarrer le service, cliquez sur Envoyer.

    Votre nouveau service de métastore s'affiche sur la page Dataproc Metastore. L'état indique Création en cours jusqu'à ce que le service soit prêt à être utilisé. Une fois la clé prête, son état passe à Active. Le provisionnement du service peut prendre quelques minutes.

REST

curl -X POST -s -i -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-d '{"scaling_config":{"autoscaling_config":{"autoscaling_enabled": true,"limit_config":{"max_scaling_factor":MAX_SCALING_FACTOR,"min_scaling_factor": MIN_SCALING_FACTOR}}}}' \
-H "Content-Type:application/json" \
https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/services?service_id=SERVICE_ID

Remplacez les éléments suivants :

  • MIN_INSTANCES (facultatif) : nombre minimal d'instances à utiliser dans votre configuration d'autoscaling. Si ces valeurs ne sont pas spécifiées, la valeur par défaut 0.1 est utilisée.
  • MAX_INSTANCES Facultatif : nombre maximal d'instances à utiliser dans votre configuration d'autoscaling. Si ces valeurs ne sont pas spécifiées, la valeur par défaut 6 est utilisée.

Créer un service Dataproc Metastore multirégional

Pour créer un Dataproc Metastore multirégional, consultez Configurer un service Dataproc Metastore multirégional.

Créer un service Dataproc Metastore à l'aide du VPC partagé

Un VPC partagé vous permet de connecter des ressources Dataproc Metastore provenant de plusieurs projets à un réseau VPC commun.

Pour créer un service Dataproc Metastore configuré avec un VPC partagé, consultez Créer un service à l'aide des paramètres avancés.

Remarques

  • Les réseaux VPC ne sont pas pertinents pour les services Dataproc Metastore configurés avec le protocole de point de terminaison gRPC.

  • Pour les services Dataproc Metastore configurés avec le protocole de point de terminaison Thrift, assurez-vous que votre service Dataproc Metastore et le cluster Dataproc auquel il est associé utilisent le même réseau VPC partagé.

  • Pour les services Dataproc Metastore configurés avec le protocole de point de terminaison Thrift et Private Service Connect, assurez-vous d'utiliser des sous-réseaux du réseau VPC partagé.

Rôles IAM requis pour les réseaux VPC partagés

Pour créer un service Dataproc Metastore avec un VPC accessible dans un réseau appartenant à un autre projet, vous devez accorder le rôle roles/metastore.serviceAgent à l'agent de service Dataproc Metastore du projet de service (service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com) dans la stratégie IAM du projet réseau.

gcloud projects add-iam-policy-binding NETWORK_PROJECT_ID \
   --role "roles/metastore.serviceAgent" \
   --member "serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com"

Résoudre les problèmes courants

Voici quelques problèmes courants :

Étapes suivantes