Definition

Spark (Apache)

Apache Spark est une infrastructure de traitement parallèle open source qui permet d'exécuter des applications analytiques d’envergure, en utilisant des machines en clusters.

Apache Spark peut traiter des données issues de différents référentiels de données, dont Hadoop Distributed File System (HDFS), des bases de données NoSQL et des data stores de données relationnels, tels qu'Apache Hive. En outre, Spark prend en charge le traitement In-memory, dopant ainsi les performances des applications d'analytique Big Data. Toutefois, il permet aussi un traitement conventionnel sur disque lorsque les ensembles de données sont trop volumineux pour la mémoire système disponible.

En février 2014, Spark est devenu un projet prioritaire de l'Apache Software Foundation. La version 1.0 d'Apache Spark a été lancée en mai 2014. Au départ, cette technologie a été conçue en 2009 par des chercheurs de l'Université de Californie, à Berkeley. Il s'agissait d'un moyen d'accélérer les tâches de traitement sur les systèmes Hadoop. Spark fournit aux programmeurs un substitut potentiellement plus rapide et plus flexible à MapReduce, le logiciel auquel étaient liées les premières versions d'Hadoop. Les développeurs de Spark expliquent que le produit peut exécuter des tâches 100 fois plus vite que MapReduce en cas de traitement en mémoire, et 10 fois plus vite sur disque.

En outre, la capacité de gestion de Spark va au-delà des applications de traitement par lots auxquelles se limite MapReduce. Le moteur de Spark fonctionne en partie comme une couche d'interface de programmation d'applications (API) et vient renforcer un jeu d'outils associés pour la gestion et l'analyse des données. Il s'agit entre autres d'un moteur de requêtes SQL, d'une bibliothèque d'algorithmes de Machine Learning, d'un système de traitement par graphes et d'un logiciel de traitement de données en flux.

Apache Spark peut s'exécuter sur des clusters Hadoop 2 reposant sur le gestionnaire de ressources YARN. Il peut aussi se déployer sous forme autonome ou dans le Cloud sur le service EC2 d'Amazon (Amazon Elastic Compute Cloud). Etant donné sa vitesse et sa capacité à fédérer plusieurs types de bases de données et à exécuter des applications analytiques variées, certains partisans n'hésitent pas à affirmer que Spark a le potentiel d'une technologie unificatrice pour les applications de Big Data.

Cette définition a été mise à jour en mars 2016

Pour approfondir sur Big Data et Data lake

Close