Spark : maîtriser l'infrastructure open source de calcul distribué

Framework open source, Apache Spark est un moteur de traitement parallèle de données open source dédié au big data et au machine learning. Gérant le calcul en mode distribué, Spark est connu pour ses performances élevées.

Spark, c'est quoi ?

Créé en 2009, Apache Spark est un moteur de traitement parallèle de données open source dédié au big data et au machine learning. Conçu pour gérer les données trop volumineuses ou complexes pour les bases de données traditionnelles, il permet d’effectuer des analyses de grande envergure sur des données structurées ou non structurées. Pour gagner en performances, Apache Spark prend en charge le traitement en mémoire et s'appuie sur une architecture en mode distribuée, composée de machines en cluster.

Pourquoi utiliser Spark ?

En termes de popularité, Spark est passé loin devant les autres frameworks big data Apache Storm ou Apache Flink. Ses partisans mettent en avant sa rapidité, sa simplicité d’usage, et sa polyvalence. En procédant au calcul en mémoire et à d’autres optimisations, le moteur d'analyse affiche des performances particulièrement élevées tout en consommant moins de ressources. Il comprend un grand nombre de bibliothèques pour prendre en charge les requêtes SQL, le traitement de données en flux ou par graphes ainsi que des jeux de données de machine learning. Polyvalent, Spark permet de développer des applications en Java, Scala, Python et R. Enfin, son développement est assuré par une communauté particulièrement dynamique avec des contributeurs comme Netflix, Facebook ou Uber.

Comment utiliser Spark ?

Spark contient une pile de bibliothèques dont les briques principales sont Spark SQL, MLlib, GraphX et Spark Streaming. Spark SQL permet d’exécuter des requêtes en langage SQL. MLlib est une bibliothèque dédiée aux technologies du machine learning. GraphX gère les informations issues de graphes tandis que Spark Streaming traite les données en flux.

C'est quoi PySpark ?

Si le framework a été développé en Scala, PySpark est une librairie qui permet d’écrire des applications Spark en Python.

Spark SQL

Spark SQL est un des modules d'Apache Spark permettant de traiter les données structurées en utilisant le langage de requêtage SQL.