Utiliser Managed Service pour Apache 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 Managed Service for Apache Spark.
Votre instance de notebooks gérés peut envoyer le code d'un fichier notebook à exécuter sur le service Managed Service pour Apache Spark. 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 Managed Service pour Apache Spark ne s'appliquent qu'au moment où la charge de travail est exécutée.
Conditions requises
Pour exécuter un fichier notebook sur Managed Service pour Apache Spark, consultez les exigences suivantes.
Votre session Managed Service pour Apache Spark 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 Managed Service for Apache Spark, 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 Managed Service for Apache Spark 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 exigences dans la section Configuration du réseau Spark pour Managed Service pour Apache Spark.
Autorisations
Pour vous assurer que le compte de service dispose des autorisations nécessaires pour exécuter un fichier notebook sur Managed Service for Apache Spark, demandez à votre administrateur d'accorder au compte de service le rôle IAM Éditeur Dataproc (roles/dataproc.editor) sur votre projet.
Ce rôle prédéfini contient les autorisations requises pour exécuter un fichier notebook sur Managed Service for Apache Spark. 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 Managed Service pour Apache Spark :
-
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
- Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Notebooks, Vertex AI, and Managed Service for Apache Spark APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Notebooks, Vertex AI, and Managed Service for Apache Spark APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.- 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 Managed Service for Apache Spark.
Ouvrir JupyterLab
Dans la console Google Cloud , 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 Managed Service pour Apache Spark
Pour démarrer une session Managed Service for Apache Spark, 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 dans la section Configuration du réseau Managed Service for Apache Spark.
Cliquez sur Créer.
Un nouveau fichier notebook s'ouvre. La session Managed Service pour Apache Spark que vous avez créée est le noyau qui exécute le code de votre fichier notebook.
Exécuter votre code sur Managed Service pour Apache Spark et d'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 Managed Service pour Apache Spark, redéfinissez le noyau sur le noyau Managed Service pour Apache Spark.
Mettre fin à votre session Managed Service pour Apache Spark
Vous pouvez arrêter une session Managed Service for Apache Spark 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 Managed Service for Apache Spark.
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 Managed Service pour Apache Spark
Vous pouvez supprimer une session Managed Service pour Apache Spark à 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.
Étapes suivantes
- En savoir plus sur Managed Service pour Apache Spark