Apache Spark est une plateforme de traitement distribué conçue pour manipuler de gros volumes de données en temps réel. Elle permet d'effectuer des analyses avancées en utilisant des langages de programmation tels que Python. Grâce à son architecture de traitement en mémoire, Spark est beaucoup plus rapide que les solutions traditionnelles de big data. De plus, sa compatibilité avec Hadoop en fait une solution très populaire pour le traitement des données massives.
Ce livre sur le framework Apache Spark vous permet d’apprendre à développer des applications en Python en vous appuyant sur l’analyse et le traitement de données volumineuses ainsi que sur la notion d’apprentissage automatique.
Après quelques définitions de termes liés au domaine de la data, vous découvrez les fondements de Spark. Vous appréhendez l’architecture logicielle du framework, ses composants et les différents langages avec lesquels il est possible de développer.
Vous entrez ensuite concrètement dans la transformation de données. Fonctions numériques, alphanumériques, ajouts d’information, suppressions, agrégations de premier ordre et plus complexes sont à l’honneur. Des fonctionnalités plus avancées telles que les fonctions de fenêtrage et celles définies par les utilisateurs sont étudiées et les nombreuses API de Spark parcourues, tout en étant illustrées par des exemples.
Dans la suite du livre, l’auteur dévoile l’apprentissage machine. Apprentissage supervisé, non supervisé, profond et moteurs de recommandation sont autant de concepts détaillés. Vous découvrez les différents algorithmes présents dans Spark, les manières de préparer des données à l’entraînement ainsi que les possibilités d’évaluation d’un système prédictif au travers de plusieurs mises en pratique. Les notions d’arbres de décision, de forêts aléatoires, de réseaux de neurones, de régressions linéaires et de factorisation de matrices vous sont expliquées ainsi que le traitement des informations numériques et la vectorisation de textes.
Pour finir, un chapitre met en avant l’industrialisation de Spark. Déployer, déboguer et tester son application ainsi que les subtilités de l’outil pour assurer une performance optimale sont autant d’éléments cruciaux détaillés.
Si les exemples de code du livre sont en Python, langage aujourd’hui le plus utilisé avec Spark, certains sont en Scala, API la plus aboutie, pour vous apporter une vision complète du framework.
3.1 Les performances dans l’apprentissage automatique
3.2 Exemple avec validation croisée à k blocs
3.3 Séparation test/entraînement
4. Déboguer avec Spark
4.1 Vision du plan physique
4.1.1 Vision par l’intermédiaire du schéma
4.1.2 Vision par l’intermédiaire du plan écrit
4.2 Les autres onglets de Spark UI
4.3 Déboguer avec Spark UI
5. Se repérer dans la documentation
5.1 La documentation générale
5.2 La documentation Python
6. Déployer l’apprentissage automatique
6.1 Enregistrer un modèle
6.2 Récupérer un modèle sauvegardé
Conclusion
Index
Nastasia SABY
Nastasia SABY est ingénieur en Machine Learning. Après avoir débuté sa carrière en tant que développeuse back-end, elle a suivi la révolution de la data et s’est notamment spécialisée dans le développement avec le framework Apache Spark. Elle est aujourd’hui experte de la mise en production de systèmes prédictifs dans le domaine du streaming. Conférencière et rédactrice d’articles de blog, elle aime partager son savoir au plus grand nombre.
Retrouvez la liste de ses réalisations sur www.editions-eni.fr