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

  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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Activer les API Cloud Resource Manager, Dataproc, and Notebooks.

    Activer les API

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Activer les API Cloud Resource Manager, Dataproc, and Notebooks.

    Activer les API

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 :

Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

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 :

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

    Accéder à la page "Instances"

  2. Cliquez sur  Créer.

  3. Dans la boîte de dialogue Nouvelle instance, cliquez sur Options avancées.

  4. Dans la boîte de dialogue Créer une instance, dans la section Détails, vérifiez que l'option Activer Dataproc est bien sélectionnée.

  5. Assurez-vous que le Type de Workbench est défini sur Instance.

  6. Dans la section Environnement, assurez-vous d'utiliser la dernière version ou une version numérotée M113 ou supérieure.

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

  1. Sélectionnez Paramètres > Paramètres Cloud Dataproc.

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

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

  1. Vos entrées DNS sont correctement configurées.

  2. Un cluster est disponible dans le même projet (ou vous devrez en créer un s'il n'existe pas).

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

resource "google_workbench_instance" "default" {
  name     = "workbench-instance-example"
  location = "us-central1-a"

  gce_setup {
    machine_type = "n1-standard-1"
    vm_image {
      project = "cloud-notebooks-managed"
      family  = "workbench-instances"
    }
    metadata = {
      disable-mixer = "false"
    }
  }
}

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