Créer des sessions interactives et des profils d'exécution

Ce document explique comment créer des sessions interactives et des profils d'exécution Managed Service pour Apache Spark, appelés modèles de session dans la Google Cloud CLI et l'API Dataproc. Un profil d'exécution est un ensemble réutilisable de paramètres d'exécution Spark sans serveur, tels que le niveau de calcul et la configuration de l'exécuteur, que vous pouvez utiliser pour créer des notebooks et des sessions interactifs.

Créer une session interactive

Vous pouvez utiliser la Google Cloud CLI ou l'API Managed Service pour Apache Spark afin de créer une session interactive Managed Service pour Apache Spark.

gcloud

Vous pouvez utiliser la commande gcloud beta dataproc sessions create spark SESSION_ID pour créer une session interactive Managed Service pour Apache Spark :

gcloud beta dataproc sessions create spark SESSION_ID \
    --location=REGION \
    optional flags ...

Remplacez ou ajoutez les éléments suivants :

REST

Vous pouvez utiliser la méthode d'API sessions.create de Managed Service pour Apache Spark afin de créer une session interactive Managed Service pour Apache Spark. Configurez les champs de requête suivants :

Créer un profil d'exécution

Un profil d'exécution Managed Service pour Apache Spark (parfois appelé modèle de session) définit des paramètres de configuration réutilisables pour créer des sessions interactives Managed Service pour Apache Spark. Vous pouvez utiliser la console Google Cloud , la gcloud CLI ou l'API Managed Service pour Apache Spark pour créer un profil d'exécution. Dans la gcloud CLI et l'API Dataproc, les profils d'exécution sont appelés session templates.

Console

Pour créer un profil d'exécution Managed Service pour Apache Spark à l'aide de la consoleGoogle Cloud , procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Serverless (Profils d'exécution) de Managed Service pour Apache Spark.

    Accéder à la page "Profils d'exécution"

  2. Cliquez sur Créer.

  3. Sur la page Créer un profil d'exécution, configurez les paramètres principaux suivants :

    • Nom à afficher : obligatoire. Saisissez un nom à afficher pour le profil d'exécution ou acceptez le nom généré prérempli. Le nom à afficher doit contenir au moins une lettre ou un chiffre. Il est enregistré en tant que nom à afficher de premier niveau pour tous les types de sessions, y compris Spark Connect. Le nom du profil d'exécution est l'ID de ressource. Il est automatiquement dérivé du nom à afficher en convertissant les lettres en minuscules et les caractères non valides en traits d'union, comme indiqué sous le champ. Pour personnaliser l'ID de ressource séparément du nom à afficher, développez Configuration supplémentaire et modifiez Configuration de l'environnement d'exécution.

    • Région : obligatoire. Sélectionnez une région Compute Engine disponible pour les sessions qui utilisent ce profil d'exécution. La région par défaut est us-east4 (anciennement us-central1), et la liste affiche les descriptions des régions.

    • Description : facultatif. Saisissez une description pour identifier le profil d'exécution.

    • Niveau : sélectionnez le niveau Managed Service pour Apache Spark pour l'exécution de la charge de travail :

      • Premium : valeur par défaut. Optimise les requêtes complexes ou sensibles à la latence grâce à des moteurs d'accélération, et accepte les formes d'exécuteur à haute capacité de mémoire et accélérées par GPU. Lorsque l'option Premium est sélectionnée, la case Activer Lightning Engine pour améliorer les performances s'affiche et est cochée par défaut pour accélérer les jobs Spark avec Lightning Engine, ce qui définit spark.dataproc.engine=lightningEngine.

      • Standard : fournit un environnement d'exécution Spark standard pour le traitement de données de routine. Les sessions interactives s'exécutent toujours au niveau Premium. Sélectionner Standard n'affecte que l'exécution par lot. Si vous choisissez Standard, Lightning Engine est désactivé, les formes de machine sont limitées aux formes de processeur standards (standard-4, standard-8 ou standard-16) et des disques HDD (standard) sont requis. Si vous passez du niveau Premium au niveau Standard, les formes à haute capacité de mémoire ou GPU sont réinitialisées sur standard-4 et les disques SSD sont réinitialisés sur un disque dur 200 GiB.

    • Configuration de l'exécuteur : sélectionnez le mode de dimensionnement du calcul et le type de machine pour les exécuteurs et le pilote Spark qui exécutent votre charge de travail :

      • General : valeur par défaut. Fournit des formes de machines n'utilisant que des processeurs, adaptées aux charges de travail d'extraction, de transformation et de chargement (ETL) générales. Dans la liste Type d'exécuteur, sélectionnez une forme Haute capacité de mémoire, telle que highmem-4 (par défaut) avec 4 vCPU et 32 Go de mémoire, highmem-8 avec 8 vCPU et 64 Go de mémoire, ou highmem-16 avec 16 vCPU et 128 Go de mémoire, ou sélectionnez une forme Standard, telle que standard-4 avec 4 vCPU et 16 Go de mémoire, standard-8 avec 8 vCPU et 32 Go de mémoire, ou standard-16 avec 16 vCPU et 64 Go de mémoire. Les formes à mémoire élevée ne sont disponibles que dans le niveau Premium.

      • Accéléré : fournit des formes de machines associées à un GPU adaptées aux charges de travail de data science et d'entraînement et d'inférence d'IA ou de ML. La sélection d'une forme accélérée fait automatiquement passer le niveau à Premium et le niveau de disque à SSD (Premium) avec une taille par défaut de 375 GiB. Dans la liste Type d'exécuteur, sélectionnez une forme L4 avec 4, 8, 12, 16, 24, 48 ou 96 processeurs virtuels, ou sélectionnez une forme A100, telle que A100 40GB (12 vCPU) ou A100 80GB (12 vCPU).

  4. Facultatif : Pour personnaliser les paramètres avancés d'exécution, de calcul, d'autoscaling, de metastore, de réseau, de sécurité, de cycle de vie ou de propriété, cliquez sur Configuration supplémentaire pour développer le panneau. À côté de la catégorie que vous souhaitez personnaliser, cliquez sur Modifier, configurez les paramètres dans le volet, puis cliquez sur Enregistrer :

    • Configuration de l'environnement d'exécution : configurez l'identifiant de l'environnement d'exécution, la version de Spark, l'image de conteneur, le bucket de préproduction et le dépôt de packages Python :

      • Nom du profil d'exécution : obligatoire. Acceptez l'ID de ressource généré à partir du nom à afficher ou saisissez un ID personnalisé. L'ID doit comporter entre 4 et 63 caractères, ne contenir que des lettres minuscules, des chiffres et des traits d'union, commencer et se terminer par une lettre minuscule ou un chiffre, et ne peut pas être modifié après la création du profil d'exécution.

      • Version de l'environnement d'exécution Spark : obligatoire. Sélectionnez une version d'exécution de Managed Service pour Apache Spark compatible.

      • Image Spark personnalisée (facultatif) : Saisissez l'URI Artifact Registry ou Container Registry d'une image de conteneur personnalisée incluant des dépendances Java ou Python personnalisées.

      • Bucket de préproduction : facultatif. Cliquez sur Parcourir pour sélectionner ou créer un bucket de préproduction Cloud Storage afin de stocker les dépendances de charge de travail, les résultats des pilotes de jobs et les fichiers de configuration. Si ce champ n'est pas renseigné, Managed Service pour Apache Spark gère automatiquement le bucket de préproduction (indiqué par Auto dans le récapitulatif).

      • Dépôt de packages Python : facultatif. Saisissez l'URI d'un dépôt personnalisé, tel que https://pypi.org/simple, pour installer des packages Python. Si ce champ est laissé vide, les packages sont installés à partir du cache d'extraction PyPI géré par Google (résumé par défaut).

    • Configuration de l'exécuteur et du pilote : personnalisez le niveau de calcul, le niveau de disque, la taille du disque et la configuration distincte du pilote :

      • Niveau : sélectionnez Premium, qui inclut la case à cocher facultative Activer le moteur Lightning pour accélérer les performances, ou Standard.

      • Type d'exécuteur : sélectionnez une configuration de machine générale High memory ou Standard, ou une configuration de machine accélérée L4 ou A100.

      • Niveau de disque : sélectionnez HDD (standard) ou SSD (premium). HDD (standard) est la valeur par défaut pour les formes de processeur et est obligatoire sur le niveau Standard. SSD (premium) est disponible au niveau Premium pour les charges de travail nécessitant un brassage important des données ou un recours fréquent au déversement sur disque. Il est requis pour les formes de GPU accélérées.

      • Taille du disque : sélectionnez une taille de disque en Gio. HDD (standard) accepte de 200 GiB à 1500 GiB par incréments de 100 Gio, avec une valeur par défaut de 200 GiB. SSD (premium) accepte 375 GiB, 750 GiB ou 1500 GiB, avec une valeur par défaut de 375 GiB.

      • Utiliser une configuration différente pour le pilote : facultatif. Par défaut, le pilote utilise la même forme de machine et la même configuration de disque que l'exécuteur. Cochez cette case pour personnaliser indépendamment le type de machine du pilote, le niveau de disque du pilote et la taille du disque du pilote.

    • Autoscaling : configurez l'allocation dynamique des ressources pour faire évoluer les exécuteurs en fonction de la demande de charge de travail :

      • Activé : sélectionné par défaut, ce qui définit spark.dynamicAllocation.enabled. Décochez cette case pour désactiver l'autoscaling.

      • Exécuteurs initiaux : saisissez le nombre initial d'exécuteurs, qui définit spark.dynamicAllocation.initialExecutors. La valeur par défaut est 5. Les valeurs valides sont comprises entre 2 et 2000 pour les versions d'exécution 2.3 et antérieures, ou entre 0 et 2000 pour la version d'exécution 3.0 et ultérieures.

      • Nombre minimal d'exécuteurs : saisissez le nombre minimal d'exécuteurs, qui définit spark.dynamicAllocation.minExecutors. La valeur par défaut est 2 pour les versions d'exécution 2.3 et antérieures, ou 0 pour la version d'exécution 3.0 et ultérieures, avec une limite supérieure de 2000.

      • Nombre maximal d'exécuteurs : saisissez le nombre maximal d'exécuteurs, qui définit spark.dynamicAllocation.maxExecutors. La valeur par défaut est 1000, avec une limite maximale autorisée de 2000.

    • Configuration du metastore : sélectionnez le metastore qui gère les métadonnées de votre ensemble de données :

      • Catalogue d'environnements d'exécution Lakehouse : par défaut. Utilise un catalogue d'environnements d'exécution Lakehouse sans serveur dans le projet actuel, avec le point de terminaison REST Iceberg activé par défaut. Vous pouvez spécifier l'ID du projet et choisir un ID de catalogue existant ou définir un nouveau catalogue. Vous pouvez également cocher la case Point de terminaison Hive pour spécifier l'ID du projet, l'ID du catalogue et le nom du catalogue du point de terminaison Hive.

      • Dataproc Metastore : associe une instance Hive Metastore (HMS) Dataproc Metastore gérée. Sélectionnez le projet dans Projet sélectionné, puis choisissez une instance de service dans la liste Service de métastore.

      • Aucun : désactive l'intégration du métastore pour les sessions qui utilisent ce profil d'exécution.

    • Réseau et sécurité : configurez la mise en réseau VPC, les identifiants d'exécution et les clés de chiffrement :

      • Connectez votre cluster : sous Configuration du réseau, la console Google Cloud sélectionne automatiquement un réseau ou un sous-réseau éligible dans la région choisie. Si la région choisie ne dispose pas d'un réseau par défaut disponible, la section Configuration supplémentaire s'ouvre automatiquement et affiche un avertissement indiquant que le réseau par défaut n'est pas disponible. Dans ce cas, le bouton Créer reste désactivé jusqu'à ce que vous cliquiez sur Configurer le réseau et que vous sélectionniez un sous-réseau disponible. Vous pouvez sélectionner Réseaux dans ce projet pour choisir un Réseau principal et un Sous-réseau dans le projet actuel, ou sélectionner Réseaux partagés à partir du projet hôte pour choisir un sous-réseau VPC partagé. L'accès privé à Google (PGA) doit être activé pour le sous-réseau sélectionné. Pour connaître les exigences de connectivité réseau, consultez Connectivité de sous-réseau ouverte. Vous pouvez également saisir des tags réseau facultatifs pour appliquer des règles de pare-feu et des routes aux VM de charge de travail.

      • Exécuter les notebooks avec : sélectionnez Compte utilisateur (option par défaut) pour exécuter les notebooks à l'aide des identifiants de l'utilisateur final, ou sélectionnez Compte de service pour exécuter les sessions avec un compte de service personnalisé. Lorsque l'option Compte de service est sélectionnée, vous devez spécifier un compte de service dans le champ Compte de service.

      • Chiffrement : sélectionnez Google-owned and Google-managed encryption key (option par défaut) ou Clé Cloud KMS pour chiffrer les données de la charge de travail à l'aide d'une clé de chiffrement gérée par le client (CMEK).

    • Cycle de vie de la session : configurez les limites d'arrêt automatique de la session :

      • Durée maximale d'inactivité : facultatif. Saisissez une durée d'inactivité maximale et sélectionnez une unité de durée d'inactivité maximale en seconds, minutes, hours ou days, de 10 minutes à 330 heures, pour spécifier la durée pendant laquelle une session de notebook peut rester inactive avant d'être automatiquement arrêtée.

      • Durée maximale de la session : facultatif. Saisissez une durée maximale de session et sélectionnez une unité de durée maximale de session en seconds, minutes, hours ou days, de 10 minutes à 330 heures, pour spécifier la durée de vie maximale d'une session.

    • Autres personnalisations : ajoutez des propriétés Spark personnalisées et des libellés de ressources :

      • Propriétés Spark : facultatif. Cliquez sur Ajouter une propriété, puis saisissez les paires Clé et Valeur pour les propriétés Spark personnalisées. Les propriétés contrôlées par des champs dédiés dans le formulaire (comme le niveau de calcul, le dimensionnement de l'exécuteur et du pilote, Lightning Engine, spark.dynamicAllocation.* et les propriétés du catalogue Lakehouse) sont gérées par ces champs et sont masquées dans la liste de texte libre. Dans la console Google Cloud , n'incluez pas le préfixe spark:.

      • Étiquettes : facultatif. Cliquez sur Ajouter une étiquette, puis saisissez des paires Clé et Valeur pour associer des étiquettes au profil d'exécution.

  5. Examinez les détails de la configuration dans la fiche Résumé et l'utilisation estimée des unités de calcul de données (DCU) dans la fiche Estimation du prix sur le côté droit de la page. Pour en savoir plus sur les frais liés aux DCU, consultez la page Tarifs de Managed Service pour Apache Spark.

  6. Cliquez sur Créer.

gcloud

Dans la gcloud CLI, les profils d'exécution sont gérés en tant que modèles de session. Vous ne pouvez pas créer directement un profil d'exécution Managed Service pour Apache Spark à l'aide d'une commande create dans la gcloud CLI, mais vous pouvez utiliser la commande gcloud beta dataproc session-templates import pour créer ou mettre à jour un profil d'exécution à partir d'un fichier de configuration YAML. Vous pouvez également exporter un profil d'exécution existant à l'aide de la commande gcloud beta dataproc session-templates export.

REST

Dans l'API Managed Service pour Apache Spark, les profils d'exécution sont représentés par des ressources SessionTemplate. Vous pouvez utiliser la méthode API sessionTemplates.create de Managed Service pour Apache Spark pour créer un profil d'exécution Managed Service pour Apache Spark. Configurez les champs de requête suivants :