Ma toute première application Scala

Par défaut

Ma découverte de ce langage fut un petit déclic ! On peut dire que Apache Spark a été le précurseur à tout cela bien évidemment. Pour rappel,  Scala est un langage de programmation multi-paradigme conçu à  l’École polytechnique fédérale de Lausanne, en Suisse. Elle connait actuellement un envol dans le secteur des analyse des données et le Big Data.

Il existe déjà quelques références sur toute l’historique de ce langage, que je vous invite à découvrir sur internet.

Comme tout débutant sur cette techno, Je vais commencer par écrire un petit programme qui affiche « Hello World », un classique.

Mon environnement de développement

A ce jour, il faut au minimum Java 8 pour pouvoir développer sur Scala sur Windows. Donc si vous ne savez pas votre version Java, sur Windows, faites

java – version

Vous pouvez télécharger Java sur le lien suivant : https://www.java.com/

Apres avoir fini de télécharger et d’installer Scala, ouvrez une ligne de commande et faites

Pour voir si l’installation s’est bien passée, avec les variables environnements bien définis, faites

scala – version

scala

Si vous voyez « Scala code runner… », l’installation s’est bien passée, sinon désinstaller et réessayer.

Maintenant que vous avez Scala, bien installé, vous pouvez commencer à jouer un peu avec quelques lignes de code !

Notepad++ n’a a ce jour pas Scala comme syntaxe prédéfini. Donc, pour pouvoir avoir les avantages liés a un éditeur de code, je vous conseille de télécharger le fichier scala.xml disponible sur le lien suivant.

Sur Notepad++, définissez le langage Scala en suivant les étapes suivantes.

Après l’import, vous devriez avoir un message « Import réussi » ou ’’Import Successfull’’

Maintenant on va commencer à pouvoir jouer un peu avec un petit program « Hello World »

 object HelloWorld {
     def main(args: Array[String]) {
           println("Hello, world!")
               }
             } 

Sur notepad++, definissez scala comme langage.

Maintenant vous avez la syntaxe qui est correctement défini.

scala6

Sauvegardez le fichier dans un répertoire

N’oubliez pas l’extension       » .scala  « 

Sur ligne de commande, lancez la compilation en exécutant la commande suivante.

scalac HelloWorld.scala

Ensuite, executez le program en lancant

scala classpath . HelloWorld

scala8.pngFélicitations, vous avez réussi à compiler votre premier programme Scala !

Il vous reste maintenant à commencer à explorer toutes les facettes intéressantes de ce langage, par example  son interaction facile avec du code Java. Toutes les classes de java.lang sont importes par défaut. Le fait que Scala offre de reels capacités d’interopérabilité avec Java font qu’il n’y ai pas besoin d’implementer des classes équivalentes dans les bibiliotheques Scala. Nous pouvons simplement importer les packages java correspondants.

import java.util.{Date, Locale}
import java.text.DateFormat
import java.text.DateFormat._

object AffichageDateFrancais {
def main(args: Array[String]) {
val now = new Date
val df = getDateInstance(LONG, Locale.FRANCE)
println(df format now)
}
}

Ensuite, recompilez et ré-exécuter :-

scalac AffichageDateFrancais.scala

scala -classpath . AffichageDateFrancais

scala10

A bientôt !

MA DÉCOVERTE DE …………..SPARK ET DES RESILIENT DISTRIBUTED DATASETS (RDD)

Par défaut

Mon expérience passée sur les « Big Data appliances », comme on les appelle dans le jargon, c’est à dire, des ordinateurs conçus spécialement pour l’analyse de grande quantités données,   m’a conduit tout naturellement à aller explorer les innombrables avancées dans ce domaine et la lumière fut………Spark !

En effet, j’ai récemment découvert ce framework,  qui a de plus en plus le vent en poupe !

Pour moi, le principe le plus important réside dans la compréhension de ce que sont les « Resilient Distributed Datasets ».  Par exemple, Hadoop, est résilient aux pannes ou aux défaillances du système, car les données sont écrites sur le disque après chaque opération et Spark offre la même résilience intégrée du fait que les objets de données sont stockés dans ces fameux RDD répartis sur le cluster de données !

Je compte aussi mettre a jour ce blog avec quelques examples d’analyse de données sur SCALA, la célèbre langue de programmation conçu a l’Ecole Polytechnique fédérale de Lausanne et qui  le langage natif de Spark !