Pour développer sous Spark, on peut utiliser le spark-shell. Dans un précédent post, j’avais également mis en avant zeppelin . Ces deux solutions sont adaptées aux approches datalabs. Si vous veux se mettre dans une approche industrielle, difficile de se passer d’un IDE. Je vous propose donc un petit tuto sur Intellij Idea, l’outil plébiscité par Internet pour développer sous Scala.

Installation de Intellij Idea CE

Il faut au préalable avoir installé Java. C’est déjà mon cas:

On peut donc télécharger l’IDE sur le site de l’éditeur. Une fois l’application téléchargée, on clique dessus. Sur mac, on a juste ensuite à glisser l’icône du logiciel dans le dossier Applications pour l’installer.

installation

On va paramétrer Intellij Idea de 0.

début d’installation

Le logiciel vous propose deux thèmes par défaut. Je choisis le sombre qui me plait davantage.

paramétrage du thème

Je conserve ensuite les raccourcis clavier habituels sur OSX.

keymap

Pas de script de lancement.

no script

Concernant les outils complémentaire, je ne garde que ceux utilisés (terminal, git, maven, etc.).

tools

On va maintenant installer le plugin Scala.

plugin scala

Le plugin SBT n’est pas proposé par défaut mais on peut facilement l’installer.

nouveau plugin

plugin sbt

Création d’un projet

On peut maintenant créer notre premier projet.

nouveau projet scala

On sélectionne un projet Scala avec SBT.

scala sbt

On a la possibilité de choisir ses versions de librairie. J’ai opté pour les versions 0.13 de SBT et 2.11.8 de Scala pour avoir les mêmes versions que sur ma machine virtuelle.

configuration

Pour développer sous Spark, nous avons besoin d’indiquer à l’IDE que nous allons utiliser des librairies supplémentaires. Cela se passe dans File / Project Structure / Librairies

librairie

J’ai fait une recherche et rajouté la librairie spark-core.

Cela déclenche le téléchargement de la librairie à partir de son repository maven. Intellij Idea nous l’indique dans la barre de statut tout en bas de la fenêtre.

download

On peut maintenant créer notre programme. Afin d’organiser mes développements, je vais créer un package.

package

Au niveau de l’emplacement src/main/scala/nomDuPackage, je vais créer une nouvelle classe Scala de type object.

création d’un objet

Je vais utiliser Spark. Voici mon fichier de configuration build.sbt.

fichier de configuration build.sbt

Et mon programme:

programme

Ce programme est tout simple. Il lit son propre code source et compte le nombre de lignes contenant au moins une fois la chaîne de caractère « val ».

Pour exécuter le programme, il suffit de faire un clic droit sur le nom du programme dans la fenêtre du projet, puis de choisir run.

Le résultat s’affiche dans la console.

Utilisation du gestionnaire de source Git

Configuration de Git

Intellij Idea peut s’interfacer facilement avec un gestionnaire de sources comme Git. Voyons comment faire !

On commence par créer un repository distant qui nous servira de référence pour le projet. J’ai créé le mien sur Gitlab.

Je crée ensuite à la racine du projet un repository local.

On va indiquer à Intellij Idea que l’on va utiliser Git comme gestionnaire de sources.

Puis on associe à notre projet le repository distant.

Une fois le repository local et distant ainsi configuré, nous allons les utiliser.

Utilisation de Git

Nous allons commencer par faire un commit sur notre programme pour enregistrer la version dans notre repository local.

Noter que l’on peut faire un commit et push dans la même commande pour enregistrer notre programme dans notre repository distant. On peut vérifier que l’on a bien poussé notre programme dans le repository distant.

Supposons maintenant que l’on veuille faire une évolution sur notre programme. Nous allons commencer par récupérer la dernière version du fichier sur notre repository distant et créer une nouvelle branche dev. On y accède par le menu VCS / Git / Branches.

Nous allons rajouter une ligne spécifique dans notre programme.

`println(“Ajout d’une nouvelle fonctionnalité”) ` On commit le fichier .

On peut visualiser le changement dans la fenêtre de contrôle.

Je vais maintenant reporter le changement dans la branche master. Il faut pour cela se remettre sur le master en faisant un checkout. Une fois fait, on va reporter le changement de la branche dev en faisant un merge sur la branche master.

On peut ensuite publier le résultat sur le repository distant.

Et visualiser le résultat directement sur Gitlab.

Création du Jar

On va terminer par la création de l’exécutable au format Jar. On a besoin pour cela de paramétrer notre projet. Cela se passe dans File/Project Structure.

On va indiquer la classe principale du programme.

Une fois paramétré, on va pouvoir lancer la construction du Jar.

Cela va créer le fichier Jar dans le répertoire out. On peut l’exécuter …

Puis contrôler le résultat:

Cela termine notre tour d’horizon sur le paramétrage de IntelliJ Idea. J’espère que cela vous sera utile et je vous dis à bientôt.

Quelques références intéressantes: