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 section Gérer les accès.

Ce rôle prédéfini contient les autorisations requises pour exécuter un fichier notebook sur Dataproc sans serveur. Pour afficher 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

  1. 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 gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Activer les API Notebooks, Vertex AI, and Dataproc.

    Activer les API

  5. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  6. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  7. Activer les API Notebooks, Vertex AI, and Dataproc.

    Activer les API

  8. Si vous ne l'avez pas déjà fait, créez une instance de notebooks gérés.
  9. 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

  1. Dans Google Cloud Console, accédez à la page Notebooks gérés.

    Accéder à la page "Notebooks gérés"

  2. À 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 :

  1. 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.

  2. Dans le champ Nom de la session, saisissez un nom pour votre session.

  3. 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.

  4. 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

  5. Cliquez sur Create (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.

  1. Ajoutez du code à votre nouveau fichier notebook, puis exécutez le code.

  2. Pour exécuter du code sur un autre noyau, modifiez le noyau.

  3. 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

  1. Dans JupyterLab, fermez le fichier notebook créé lors de la création de votre session Spark sans serveur Dataproc.

  2. Dans la boîte de dialogue qui s'affiche, cliquez sur Arrêter la session.

console Google Cloud

  1. Dans la console Google Cloud, accédez à la page Sessions Dataproc.

    Accéder aux sessions Dataproc

  2. 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é.

  1. Dans la console Google Cloud, accédez à la page Sessions Dataproc.

    Accéder aux sessions Dataproc

  2. Sélectionnez la session que vous souhaitez supprimer, puis cliquez sur Supprimer.

Étape suivante