Utiliser Dataproc sans serveur Spark avec des notebooks gérés
Cette page explique comment exécuter un fichier notebook sur Spark sans serveur dans une instance de notebooks gérés Vertex AI Workbench à l'aide de Dataproc Serverless.
Votre instance de notebook gérée peut envoyer le code d'un fichier notebook à exécuter sur le service Dataproc Serverless. Le service exécute le code sur une infrastructure de calcul gérée qui effectue un scaling automatique des ressources en fonction des besoins. Par conséquent, vous n'avez pas besoin de provisionner et de gérer votre propre cluster.
Les frais Dataproc Serverless ne s'appliquent qu'au moment où la charge de travail est exécutée.
Conditions requises
Pour exécuter un fichier notebook sur Dataproc sans serveur Spark, consultez les exigences suivantes.
Votre session Dataproc sans serveur doit s'exécuter dans la même région que votre instance de notebooks gérés.
La contrainte d'exigence de connexion OS Login (
constraints/compute.requireOsLogin
) ne doit pas être activée pour votre projet. Consultez Gérer OS Login dans une organisation.Pour exécuter un fichier notebook sur Dataproc sans serveur, vous devez fournir un compte de service doté d'autorisations spécifiques. Vous pouvez accorder ces autorisations au compte de service par défaut ou fournir un compte de service personnalisé. Consultez la section Autorisations de cette page.
Votre session Spark sans serveur Dataproc utilise un réseau de cloud privé virtuel (VPC) pour exécuter des charges de travail. Le sous-réseau VPC doit répondre à des exigences spécifiques. Consultez les conditions requises dans la section Configuration du réseau Dataproc Serverless for Spark.
Autorisations
Pour vous assurer que le compte de service dispose des autorisations nécessaires pour exécuter un fichier notebook sur Dataproc sans serveur, demandez à votre administrateur d'accorder au compte de service le rôle IAM Éditeur Dataproc (roles/dataproc.editor
) sur votre projet.
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.
Ce rôle prédéfini contient les autorisations requises pour exécuter un fichier notebook sur Dataproc sans serveur. 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 Dataproc sans serveur :
-
dataproc.agents.create
-
dataproc.agents.delete
-
dataproc.agents.get
-
dataproc.agents.update
-
dataproc.session.create
-
dataproc.sessions.get
-
dataproc.sessions.list
-
dataproc.sessions.terminate
-
dataproc.sessions.delete
-
dataproc.tasks.lease
-
dataproc.tasks.listInvalidatedLeases
-
dataproc.tasks.reportStatus
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.
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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks, Vertex AI, and Dataproc APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks, Vertex AI, and Dataproc APIs.
- Si vous ne l'avez pas déjà fait, créez une instance de notebooks gérés.
- Si ce n'est pas déjà fait, configurez un réseau VPC répondant aux exigences répertoriées dans la section Configuration du réseau Dataproc sans serveur pour Spark.
Ouvrir JupyterLab
Dans Google Cloud Console, accédez à la page Notebooks gérés.
À côté du nom de votre instance de notebooks gérés, cliquez sur Ouvrir JupyterLab.
Démarrer une session Spark sans serveur Dataproc
Pour démarrer une session Spark sans serveur Dataproc, procédez comme suit :
Dans l'interface JupyterLab de votre instance de notebooks gérée, sélectionnez l'onglet Launcher (Lanceur d'applications), puis Serverless Spark (Spark sans serveur). Si l'onglet Launcher (Lanceur d'applications) n'est pas ouvert, sélectionnez File > New Launch (Fichier > Nouveau lanceur) pour l'ouvrir.
La boîte de dialogue Créer une session Spark sans serveur s'affiche.
Dans le champ Nom de la session, saisissez un nom pour votre session.
Dans la section Execution configuration (Configuration de l'exécution), saisissez le compte de service que vous souhaitez utiliser. Si vous ne saisissez pas de compte de service, votre session utilisera le compte de service Compute Engine par défaut.
Dans la section Configuration du réseau, sélectionnez le Réseau et le Sous-réseau d'un réseau répondant aux exigences répertoriées à la section Configuration du réseau Dataproc Serverless for Spark
Cliquez sur Créer.
Un nouveau fichier notebook s'ouvre. La session Spark sans serveur Dataproc que vous avez créée est le noyau qui exécute le code de votre fichier notebook.
Exécuter votre code sur Spark Dataproc sans serveur et autres noyaux.
Ajoutez du code à votre nouveau fichier notebook, puis exécutez le code.
Pour exécuter du code sur un autre noyau, modifiez le noyau.
Lorsque vous souhaitez exécuter à nouveau le code sur votre session Spark sans serveur Dataproc, redéfinissez le noyau sur le noyau Spark sans serveur Dataproc.
Terminer votre session Spark Dataproc sans serveur
Vous pouvez arrêter une session Spark sans serveur Dataproc dans l'interface JupyterLab ou dans la console Google Cloud. Le code du fichier notebook est conservé.
JupyterLab
Dans JupyterLab, fermez le fichier notebook créé lors de la création de votre session Spark sans serveur Dataproc.
Dans la boîte de dialogue qui s'affiche, cliquez sur Arrêter la session.
console Google Cloud
Dans la console Google Cloud, accédez à la page Sessions Dataproc.
Sélectionnez la session que vous souhaitez arrêter, puis cliquez sur Arrêter.
Supprimer votre session Spark Dataproc sans serveur
Vous pouvez supprimer une session Spark sans serveur Dataproc à l'aide de la console Google Cloud. Le code du fichier notebook est conservé.
Dans la console Google Cloud, accédez à la page Sessions Dataproc.
Sélectionnez la session que vous souhaitez supprimer, puis cliquez sur Supprimer.
Étape suivante
- Apprenez-en plus sur Dataproc Serverless.