Installation de Spark

Tous les logiciels nécessaires à la réalisation des TP et du projet RCP216 sont installés et disponibles sur le JpyterHub du Cnam, accessible à distance via le site du cours sur Moodle. Vous n'avez donc rien à installer sur vos ordinateurs personnels. Ces instructions ne concernent que l'installation de Spark, Jupyter, etc. si vous souhaitez travailler de façon autonome.

Spark est multiplateforme et peut s'installer sous Linux, MacOS et Windows.

Nous détaillons ci-dessous la procédure d'installation de Spark et de Jupyter pour Windows, OS X et Linux.

Note

Pour ce cours, les versions (testées) à installer des logiciels sont:

  • Python 3.11

  • Spark 4.2.0

  • SparkNLP 7.0.0

  • OpenJDK/Java JDK 21

  • Jupyter, version récente

Spark est écrit dans le langage de programmation Scala, bytecode compatible avec Java, et à la fois le driver et les workers tournent sur des machines virtuelles Java.

Java, Spark, Polars, Dask et les différents modules python employés dans les TP peuvent être installés facilement avec (Ana)conda en utilisant ce fichier d'environnement (ana)conda. Pour linux il est préférable de procéder de la façon suivante (créer un environnement python avec conda, en installant dès le départ les outils dont vous avez besoin à partir de environment.yml) :

# Dans le répertoire de base pour votre travail créer un environnement virtuel
conda env create --name tprcp216 --file=export-environment.yml
# Activer ensuite cet environnement
conda activate tprcp216

Le même procédé est à employer sur MacOSX. Sur Windows il faut lancer Anaconda et créer l'environnement virtuel à partir de environment.yml grâce au menu correspondant.

Suite à la une récente évolution de SparkNLP vers la version 7, compatible avec Spark 4, il n'y a plus de conflit de version Spark entre l'emploi de SparkNLP (TP fouille de textes) et la conversion directe de DataFrame Spark à Polars avec sparkpl v > 2.0.0' (TP graphes et visualisation). Nous avons néanmoins conservé, à travers des instructions incluses dans le TP, l'installation des versions plus récentes des modules concernés.