Créer un service Dataproc Metastore

Cette page vous 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 connecté l'un de ces services, il utilise votre service Dataproc Metastore comme métastore Hive lors de l'exécution de la requête.

Avant de commencer

Rôles requis

Pour obtenir l'autorisation nécessaire pour créer un Dataproc Metastore, 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, 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 autorisations et les rôles Dataproc Metastore spécifiques, consultez Gérer l'accès avec IAM.

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

La création d'un 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 l'emplacement de données us-central.

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 Tarifs et capacité, choisissez une taille d'instance.

    Pour en savoir plus, consultez la page Forfaits et 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 pour les 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 les pages Régions et zones disponibles et Point de terminaison régional.

  7. Pour les autres options de configuration de 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 Creating (Création en cours) jusqu'à ce que le service soit prêt à être utilisé. Lorsqu'elle est prête, son état passe à Actif. Le provisionnement du service peut prendre quelques minutes.

gcloud CLI

Pour créer un service 2 de métastore Dataproc Metastore à 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 pour les 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. 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 d'APIs Explorer.

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 pour les 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 les pages Régions et zones disponibles et Point de terminaison régional.

  6. Pour les autres options de configuration de 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 Creating (Création en cours) jusqu'à ce que le service soit prêt à être utilisé. Lorsqu'elle est prête, son état passe à Actif. Le provisionnement du service peut prendre quelques minutes.

gcloud CLI

Pour créer un service de métastore 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 Dataproc Metastore à l'aide des paramètres avancés

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

Dataproc Metastore 2 ou 1

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

Console

Premiers pas

  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.

    Informations sur les services

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

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

      Pour en savoir plus, consultez la page Forfaits et 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 pour les 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 les pages 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 bonne version, consultez la section Règle concernant les versions.

    5. Sélectionnez la version disponible.

      Si cette valeur n'est pas modifiée, votre métastore utilise la valeur Stable. Pour en savoir plus, consultez Version disponible.

    6. Indiquez le port TCP.

      Port TCP auquel se connecte votre point de terminaison Thrift. 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 influence la capacité de votre service. Pour en savoir plus, consultez la page Niveau de service.

    Protocole du point de terminaison

    • Facultatif: choisissez un protocole de point de terminaison.

      L'option sélectionnée par défaut est Apache Thrift. Pour en savoir plus sur les différents points de terminaison, consultez la section Choisir le protocole de 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 ne permet à votre service de se connecter qu'à 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 aux services Dataproc Metastore dans d'autres projets.
      • Utilisez votre service Dataproc Metastore avec d'autres services Google 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 choisir d'utiliser la dernière version du secret ou d'en utiliser une 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: sélectionnez un type de chiffrement.

      • L'option sélectionnée par défaut est Clé de chiffrement gérée par Google.

      • 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 page Utiliser des clés de chiffrement gérées par le client.

    Remplacements de configuration 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.

    Database type (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 la page Types de bases de données.

    Libellés

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

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 Creating (Création en cours) jusqu'à ce que le service soit prêt à être utilisé. Lorsqu'elle est prête, son état passe à Actif. Le provisionnement du service peut prendre quelques minutes.

gcloud CLI

  1. Pour créer un métastore, 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 du service:

    • SERVICE: nom de votre nouveau service Dataproc Metastore. Exemple :0.1 Si vous spécifiez une valeur pour SCALING_FACTOR, ne spécifiez pas de valeur pour INSTANCE_SIZE.
    • 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 Thhrift. Si cette règle n'est pas configurée, le port 9083 est utilisé. Si vous choisissez d'utiliser un point de terminaison gRPC, votre numéro de port passe automatiquement à 443.
    • TIER : facultatif pour Dataproc Metastore 1. Niveau de service de votre nouveau service. Si cette règle n'est pas configurée, la valeur Developer est utilisée.
    • ENDPOINT_PROTOCOL : facultatif: choisissez le protocole du point de terminaison de votre service.
    • DATABASE_TYPE (facultatif) : choisissez le type de base de données de votre service. Pour en savoir plus sur le choix d'un type de base de données spécifique, consultez la page Types de bases de données.
    • DATA_CATALOG_SYNC : (facultatif) activez la fonctionnalité de synchronisation Data Catalog.
    • HIVE_METASTORE_VERSION : (facultatif) version du métastore Hive que vous souhaitez utiliser avec votre service. Exemple : 3.1.2. Si cette règle n'est pas configurée, la dernière version de Hive est utilisée.
    • RELEASE_CHANNEL: facultatif: version disponible du service. Si cette règle n'est pas configurée, la valeur Stable est utilisée.
    • METADATA_OVERRIDE : (facultatif) les configurations de remplacement du métastore Hive que vous souhaitez appliquer à votre service Utilisez une liste d'éléments séparés par une virgule au format k1=v1,k2=v2,k3=v3.
    • LABELS : (facultatif) paires clé/valeur pour ajouter des métadonnées supplémentaires à votre service. Utilisez une liste d'éléments séparés par une virgule au format k1=v1,k2=v2,k3=v3. Dataproc Metastore
    • AUXILIARY_VERSION : (facultatif) activez les versions auxiliaires. Pour en savoir plus, consultez Versions auxiliaires.

    Paramètres de scaling:

    • INSTANCE_SIZE : facultatif pour Dataproc Metastore 2, c'est-à-dire 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. Exemple :0.1 Si vous spécifiez une valeur pour SCALING_FACTOR, ne spécifiez pas de valeur pour INSTANCE_SIZE

    Paramètres des réseaux:

    • NETWORK: nom du réseau VPC que vous connectez à votre service. Si cette règle n'est pas configurée, 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 indiquer le nom complet de la ressource associée. Par exemple, projects/HOST_PROJECT/global/networks/NETWORK_ID.

    • SUBNET1, SUBNET2 : facultatif: liste des sous-réseaux autorisés à 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 (facultatif) : fait référence à l'ID de ressource de la clé.
  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 de 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 de 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 forçage, assurez-vous que votre service Dataproc Metastore dispose d'autorisations de lecture et d'écriture sur les 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 expliquent 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 configuration 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éé.

gcloud CLI

  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 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 requis pour exécuter 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 de scaling ou une taille.
  • L'autoscaling n'est disponible que pour les instances Dataproc Metastore à région unique.
  • Lorsque l'autoscaling est activé, les paramètres des 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 le dernier autoscaling_factor configuré sur le service.
  • Les facteurs d'autoscaling minimal et maximal sont facultatifs. Si cette règle n'est pas configurée, les valeurs par défaut sont respectivement 0.1 et 6.

Choisissez l'un des onglets suivants pour apprendre à 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 Entreprise – 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 minimale et maximale d'instance.

  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 Creating (Création en cours) jusqu'à ce que le service soit prêt à être utilisé. Lorsqu'elle est prête, son état passe à Actif. 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_INSTANCESFacultatif: 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 service Dataproc Metastore multirégional, consultez la page Configurer un service Dataproc Metastore multirégional.

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

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

Pour créer un service Dataproc Metastore configuré avec un VPC partagé, consultez la section 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, veillez à 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 sur un réseau appartenant à un autre projet, vous devez accorder l'autorisation 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