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
- 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.
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Activer les API Cloud Resource Manager, Dataproc, and Notebooks.
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Activer les API Cloud Resource Manager, Dataproc, and Notebooks.
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 :
-
Nœud de calcul Dataproc (
roles/dataproc.worker
) sur votre projet -
Éditeur Dataproc (
roles/dataproc.editor
) sur le cluster pour l'autorisationdataproc.clusters.use
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:
Dans la console Google Cloud, accédez à la page Instances.
Cliquez sur
Créer.Dans la boîte de dialogue Nouvelle instance, cliquez sur Options avancées.
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.
Assurez-vous que le Type de Workbench est défini sur Instance.
Dans la section Environnement, veillez à utiliser la dernière version ou un numéro de version (
M113
ou supérieur).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:
Sélectionnez Paramètres > Paramètres Cloud Dataproc.
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.
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.
Étapes suivantes
Pour en savoir plus sur le plug-in JupyterLab Dataproc, consultez la page Utiliser JupyterLab pour les sessions de notebook par lot sans serveur et interactives.
Pour en savoir plus sur Spark sans serveur, consultez la documentation Dataproc sans serveur.
Pour en savoir plus sur l'utilisation de Spark avec les produits et services Google Cloud, consultez la page Spark sur Google Cloud.
Parcourez les modèles Dataproc disponibles sur GitHub.
En savoir plus sur Spark sans serveur via
serverless-spark-workshop
sur GitHub.Lisez la documentation Apache Spark.