Composant Jupyter facultatif de Dataproc

Vous pouvez installer des composants supplémentaires tels que Jupyter lorsque vous créez un cluster Dataproc à l'aide de la fonctionnalité Composants facultatifs. Cette page décrit le composant Jupyter.

Le composant Jupyter est un notebook Web à usage unique pour l'analyse interactive des données. Il est compatible avec l'interface utilisateur Web de JupyterLab. L'interface utilisateur Web de Jupyter est disponible sur le port 8123 du premier nœud maître du cluster.

Lancer des notebooks pour plusieurs utilisateurs Vous pouvez créer une instance Vertex AI Workbench compatible avec Dataproc ou installer le plug-in Dataproc JupyterLab sur une VM pour diffuser des notebooks auprès de plusieurs utilisateurs.

Configurez Jupyter. Jupyter peut être configuré en fournissant les propriétés de cluster dataproc:jupyter. Pour réduire le risque d'exécution de code à distance sur les API de serveur de notebooks non sécurisées, le paramètre de propriété de cluster dataproc:jupyter.listen.all.interfaces par défaut est false, ce qui limite les connexions à localhost (127.0.0.1) lorsque la passerelle des composants est activée (l'activation de la passerelle des composants est requise lors de l'installation du composant Jupyter).

Le notebook Jupyter fournit un noyau Python pour exécuter le code Spark, ainsi qu'un noyau PySpark. Par défaut, les notebooks sont enregistrés dans Cloud Storage dans le bucket de préproduction Dataproc, qui est spécifié par l'utilisateur ou créé automatiquement lors de la création du cluster. L'emplacement peut être modifié au moment de la création du cluster à l'aide de la propriété de cluster dataproc:jupyter.notebook.gcs.dir.

Utiliser des fichiers de données. Vous pouvez utiliser un notebook Jupyter pour manipuler des fichiers de données importés sur Cloud Storage. Cloud Storage Connector étant pré-installé sur un cluster Dataproc, vous pouvez référencer les fichiers directement dans votre notebook. Voici un exemple qui accède aux fichiers CSV dans Cloud Storage:

df = spark.read.csv("gs://bucket/path/file.csv")
df.show()

Consultez la section Fonctions de chargement et d'enregistrement génériques pour obtenir des exemples PySpark.

Installer Jupyter

Installez le composant lorsque vous créez un cluster Dataproc. Le composant Jupyter nécessite l'activation de la passerelle des composants Dataproc.

Console

  1. Activez le composant.
    • Dans la console Google Cloud, ouvrez la page Dataproc Créer un cluster. Le panneau Configurer un cluster est sélectionné.
    • Dans la section Composants :

CLI gcloud

Pour créer un cluster Dataproc incluant le composant Jupyter, exécutez la commande gcloud dataproc clusters create cluster-name avec l'option --optional-components.

Exemple de dernière version d'image par défaut

L'exemple suivant installe le composant Jupyter sur un cluster qui utilise la dernière version d'image par défaut.

gcloud dataproc clusters create cluster-name \
    --optional-components=JUPYTER \
    --region=region \
    --enable-component-gateway \
    ... other flags

API REST

Le composant Jupyter peut être installé via l'API Dataproc à l'aide de SoftwareConfig.Component dans le cadre d'une requête clusters.create.

Ouvrir les interfaces utilisateur Jupyter et JupyterLab

Cliquez sur les liens de la passerelle des composants de la console Google Cloud pour ouvrir dans votre navigateur local le notebook Jupyter ou les interfaces utilisateur de JupyterLab exécutées sur le nœud maître du cluster.

Sélectionnez "GCS" ou "Disque local" pour créer un notebook Jupyter dans l'un des emplacements.

Associer des GPU aux nœuds maîtres et de calcul

Vous pouvez ajouter des GPU aux nœuds maîtres et aux nœuds de calcul de votre cluster lorsque vous utilisez un notebook Jupyter pour :

  1. Prétraiter des données dans Spark, puis collecter un DataFrame sur le maître et exécuter TensorFlow
  2. Utiliser Spark pour orchestrer des exécutions TensorFlow en parallèle
  3. Exécuter Tensorflow-on-YARN
  4. Utiliser ce notebook avec d'autres scénarios de machine learning fonctionnant avec des GPU