Pour les amoureux de Spark et de programmation fonctionnelle 😉 Gianmario Spacagna a créé SparkZ, une extension de Spark qui permet aux utilisateurs du framework de développer dans un style plus purement fonctionnel. Spark propose en effet pour ses RDD une API respectant ce paradigme, mais le reste du code est décrié par les développeurs pour comporter du code smell. C’est ce que pallie la bibliothèque de Gianmario Spacagna. Néanmoins, le sérieux de cette bibliothèque s’arrête là, puisqu’il s’agit d’un POC (Proof Of Concept).
Gianmario Spacagna donne ici sa motivation :
La principale motivation est de rendre l’API de certains composants de Machine Learning statiquement typée, de fournir des structures fonctionnelles à certaines classes (variables de broadcast, pipelines de validation de données, classes utilitaires, …) et de contourner les limitations inutiles imposées par les champs/méthodes privés. De plus, le projet introduit un tas de fonctions utilitaires, d’implicites et de tutoriaux pour montrer la puissance, la concision et l’élégance du framework Spark lorsqu’il est combiné avec une conception fortement fonctionnelle.
Note : le Z dans SparkZ est un clin d’oeil à ScalaZ, l’extension de Scala pour la programmation fonctionnelle.