Créer une instance compatible avec 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 Dataproc et explique comment l'utiliser avec Dataproc sans serveur pour Spark et Dataproc sur Compute Engine.

Présentation du plug-in JupyterLab de Dataproc

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 Spark s'exécute. 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.
  • L'approche Spark sans serveur fournie 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 data science et de machine learning.

Les 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 de vos exigences spécifiques de charge de travail, du niveau de contrôle souhaité et des modèles d'utilisation des ressources.

Avantages de l'utilisation de Spark sans serveur pour les charges de travail de data science et de machine learning:

  • Aucune gestion des clusters: vous n'avez pas à vous soucier du provisionnement, de la configuration ou de la gestion des clusters Spark. Cela vous permet de gagner du temps et d'économiser des ressources.
  • Autoscaling: Spark sans serveur évolue automatiquement en fonction de 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 exploite 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 plus d'informations, consultez la documentation sur Dataproc sans serveur.

Limites et points à noter de Dataproc

  • Les tâches Spark sont exécutées avec l'identité du compte de service, et non avec l'identité de l'utilisateur demandeur.

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. Activer les API Cloud Resource Manager, Dataproc, and Notebooks.

    Activer les API

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

  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, veillez à utiliser la dernière version ou un numéro de version (M113 ou supérieur).

  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 les notebooks Dataproc sans serveur et pour les tâches et sessions Dataproc. Si le cluster et la région sélectionnés comportent des clusters compatibles avec Jupyter, vous trouverez une section appelée Notebooks de cluster Dataproc.

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 sans serveur Dataproc.

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 prêt pour 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 l'instance Vertex AI Workbench à l'aide de gcloud CLI

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

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 create 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 = "deeplearning-platform-release"
      family  = "tf-latest-gpu"
    }
    metadata = {
      disable-mixer = "false"
    }
  }
}

Étapes suivantes