Créer une instance exploitant Dataproc
Cette page explique comment créer une instance Vertex AI Workbench compatible avec Dataproc. Cette page décrit également les avantages du plug-in Dataproc JupyterLab et explique comment utiliser le plug-in avec Dataproc sans serveur pour Spark et Dataproc sur Compute Engine.
Présentation du plug-in Dataproc JupyterLab
Le plug-in Dataproc JupyterLab est préinstallé sur les instances Vertex AI Workbench à partir de la version M113
.
Le plug-in Dataproc JupyterLab propose deux méthodes pour exécuter des tâches de notebooks Apache Spark : les clusters Dataproc et Spark sans serveur sur Dataproc.
- Les clusters Dataproc incluent un ensemble complet de fonctionnalités permettant de contrôler l'infrastructure sur laquelle s'exécute Spark. Vous choisissez la taille et la configuration de votre cluster Spark, ce qui vous permet de personnaliser et de contrôler votre environnement. Cette approche est idéale pour les charges de travail complexes, les tâches de longue durée et la gestion précise des ressources.
- Le service Spark sans serveur fourni par Dataproc élimine les problèmes d'infrastructure. Vous envoyez vos tâches Spark, et Google gère le provisionnement, le scaling et l'optimisation des ressources en arrière-plan. Cette approche sans serveur offre une option simple et économique pour les charges de travail de science des données et de ML.
Ces deux options vous permettent d'utiliser Spark pour le traitement et l'analyse des données. Le choix entre les clusters Dataproc et Spark sans serveur dépend des exigences spécifiques de votre charge de travail, du niveau de contrôle souhaité et des modèles d'utilisation des ressources.
Voici les avantages qu'offre l'utilisation de Spark sans serveur pour les charges de travail de science des données et de ML :
- Aucune gestion de cluster : vous n'avez pas à vous soucier du provisionnement, de la configuration ni de la gestion des clusters Spark. Vous économisez ainsi du temps et des ressources.
- Autoscaling : Spark sans serveur s'adapte automatiquement à la charge de travail. Vous ne payez donc que pour les ressources que vous utilisez.
- Hautes performances : Spark sans serveur est optimisé pour les performances et tire parti de l'infrastructure de Google Cloud.
- Intégration à d'autres technologies Google Cloud : Spark sans serveur s'intègre à d'autres produits Google Cloud, tels que BigQuery et Dataplex.
Pour en savoir plus, consultez la documentation de Dataproc sans serveur.
Limites
Tenez compte des limites suivantes lors de la planification de votre projet :
- Le plug-in Dataproc JupyterLab n'est pas compatible avec VPC Service Controls.
Limites de Dataproc
Les limites Dataproc suivantes s'appliquent :
- Les jobs Spark sont exécutés avec l'identité du compte de service, et non avec celle de l'utilisateur ayant fait la demande.
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Cloud Resource Manager, Dataproc, and Notebooks APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Cloud Resource Manager, Dataproc, and Notebooks APIs.
Rôles requis
Pour vous assurer que le compte de service dispose des autorisations nécessaires pour exécuter un fichier notebook sur un cluster Dataproc sans serveur ou sur un cluster Dataproc, demandez à votre administrateur d'accorder au compte de service les rôles IAM suivants :
-
Nœud de calcul Dataproc (
roles/dataproc.worker
) sur votre projet -
Éditeur Dataproc (
roles/dataproc.editor
) sur le cluster pour l'autorisationdataproc.clusters.use
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.
Ces rôles prédéfinis contiennent les autorisations requises pour exécuter un fichier notebook sur un cluster Dataproc sans serveur ou sur un cluster Dataproc. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour exécuter un fichier notebook sur un cluster Dataproc sans serveur ou sur un cluster Dataproc :
-
dataproc.agents.create
-
dataproc.agents.delete
-
dataproc.agents.get
-
dataproc.agents.update
-
dataproc.tasks.lease
-
dataproc.tasks.listInvalidatedLeases
-
dataproc.tasks.reportStatus
-
dataproc.clusters.use
Votre administrateur peut également attribuer au compte de service ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer une instance avec Dataproc activé
Pour créer une instance Vertex AI Workbench avec Dataproc activé, procédez comme suit :
Dans la console Google Cloud, accédez à la page Instances.
Cliquez sur
Créer.Dans la boîte de dialogue Nouvelle instance, cliquez sur Options avancées.
Dans la boîte de dialogue Créer une instance, dans la section Détails, assurez-vous que l'option Activer les sessions interactives de Dataproc sans serveur est sélectionnée.
Assurez-vous que le Type de Workbench est défini sur Instance.
Dans la section Environnement, assurez-vous d'utiliser la dernière version ou une version numérotée
M113
ou supérieure.Cliquez sur Créer.
Vertex AI Workbench crée une instance et la démarre automatiquement. Lorsque l'instance est prête à l'emploi, Vertex AI Workbench active automatiquement un lien Ouvrir JupyterLab.
Ouvrir JupyterLab
En regard du nom de l'instance, cliquez sur Ouvrir JupyterLab.
L'onglet Lanceur d'applications de JupyterLab s'ouvre dans votre navigateur. Par défaut, il contient des sections pour Notebooks Dataproc sans serveur et Tâches et sessions Dataproc. S'il existe des clusters compatibles avec Jupyter dans le projet et la région sélectionnés, une section intitulée Notebooks de cluster Dataproc s'affiche.
Utiliser le plug-in avec Dataproc sans serveur pour Spark
Les modèles d'exécution Spark sans serveur situés dans la même région et le même projet que votre instance Vertex AI Workbench apparaissent dans la section Notebooks Dataproc sans serveur du Lanceur d'applications de JupyterLab.
Pour créer un modèle d'exécution, consultez la page Créer un modèle d'exécution Dataproc sans serveur.
Pour ouvrir un nouveau notebook Spark sans serveur, cliquez sur un modèle d'exécution. Le démarrage du noyau Spark distant prend environ une minute. Une fois le noyau démarré, vous pouvez commencer à coder. Pour exécuter votre code sur Spark sans serveur, exécutez une cellule de code dans votre notebook.
Utiliser le plug-in avec Dataproc sur Compute Engine
Si vous avez créé un cluster Jupyter Dataproc sur Compute Engine, l'onglet Lanceur d'applications contient une section Notebooks de cluster Dataproc.
Quatre fiches s'affichent pour chaque cluster Dataproc compatible Jupyter auquel vous avez accès dans cette région et ce projet.
Pour modifier la région et le projet, procédez comme suit :
Sélectionnez Paramètres > Paramètres Cloud Dataproc.
Dans l'onglet Configuration du projet, sous Informations sur le projet, modifiez l'ID du projet et la région, puis cliquez sur Enregistrer.
Ces modifications ne prendront effet qu'au redémarrage de JupyterLab.
Pour redémarrer JupyterLab, sélectionnez Fichier > Arrêter, puis cliquez sur Ouvrir JupyterLab sur la page Instances Vertex AI Workbench.
Pour créer un notebook, cliquez sur une fiche. Une fois le noyau distant du cluster Dataproc démarré, vous pouvez commencer à écrire votre code, puis l'exécuter sur votre cluster.
Gérer Dataproc sur une instance à l'aide de la CLI gcloud et de l'API
Cette section décrit les différentes manières de gérer Dataproc sur une instance Vertex AI Workbench.
Modifier la région de votre cluster Dataproc
Les kernels par défaut de votre instance Vertex AI Workbench, tels que Python et TensorFlow, sont des noyaux locaux qui s'exécutent dans la VM de l'instance. Sur une instance Vertex AI Workbench compatible avec Dataproc, votre notebook s'exécute sur un cluster Dataproc via un noyau distant. Le noyau distant s'exécute sur un service en dehors de la VM de votre instance, ce qui vous permet d'accéder à n'importe quel cluster Dataproc au sein du même projet.
Par défaut, Vertex AI Workbench utilise des clusters Dataproc dans la même région que votre instance, mais vous pouvez modifier la région Dataproc tant que la passerelle des composants et le composant Jupyter facultatif sont activés sur le cluster Dataproc.
Pour modifier la région de la VM de votre instance, utilisez la commande suivante :
gcloud config set compute/region REGION
Remplacez REGION par la région de votre choix, par exemple
us-east4
.Pour modifier la région de votre cluster Dataproc, exécutez la commande suivante :
gcloud config set dataproc/region REGION
Remplacez REGION par la région de votre choix, par exemple
us-east4
.
Tester l'accès
Le plug-in Dataproc JupyterLab est activé par défaut pour les instances Vertex AI Workbench. Pour tester l'accès à Dataproc, vous pouvez vérifier l'accès aux noyaux distants de votre instance en envoyant la requête curl suivante au domaine kernels.googleusercontent.com
:
curl --verbose -H "Authorization: Bearer $(gcloud auth print-access-token)" https://PROJECT_ID-dot-REGION.kernels.googleusercontent.com/api/kernelspecs | jq .
Si la commande curl échoue, vérifiez les points suivants :
Vos entrées DNS sont correctement configurées.
Un cluster est disponible dans le même projet (ou vous devrez en créer un s'il n'existe pas).
La passerelle des composants et le composant Jupyter facultatif sont activés sur votre cluster.
Désactiver Dataproc
Les instances Vertex AI Workbench sont créées avec Dataproc activé par défaut. Vous pouvez créer une instance Vertex AI Workbench avec Dataproc désactivé en définissant la clé disable-mixer
metadata
sur true
.
gcloud workbench instances create INSTANCE_NAME --metadata=disable-mixer=true
Activer Dataproc
Vous pouvez activer Dataproc sur une instance Vertex AI Workbench arrêtée en mettant à jour la valeur des métadonnées.
gcloud workbench instances update INSTANCE_NAME --metadata=disable-mixer=false
Gérer Dataproc à l'aide de Terraform
Sur Terraform, Dataproc pour les instances Vertex AI Workbench est géré à l'aide de la clé disable-mixer
dans le champ de métadonnées.
Activez Dataproc en définissant la clé disable-mixer
metadata
sur false
. Désactivez Dataproc en définissant la clé de métadonnées disable-mixer
sur true
.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Résoudre les problèmes
Pour diagnostiquer et résoudre les problèmes liés à la création d'une instance compatible avec Dataproc, consultez Résoudre les problèmes liés à Vertex AI Workbench.
Étapes suivantes
Pour en savoir plus sur le plug-in Dataproc JupyterLab, consultez la page Utiliser JupyterLab pour les sessions de notebook interactives et par lot sans serveur.
Pour en savoir plus sur Serverless Spark, consultez la documentation de Dataproc sans serveur.
Pour en savoir plus sur l'utilisation de Spark avec les produits et services Google Cloud, consultez la page Spark sur Google Cloud.
Parcourez les modèles Dataproc disponibles sur GitHub.
Apprenez-en davantage sur Spark sans serveur grâce à
serverless-spark-workshop
sur GitHub.Consultez la documentation Apache Spark.