JPO : Webinar d'information sur nos formations → RDV mardi à 17h30.

Apache Spark : qu’est-ce que c’est et à quoi ça sert ?

apache spark

Apache Spark est un moteur d’analyse unifié et ultra-rapide pour le traitement de données à grande échelle. Il permet d’effectuer des analyses de grande ampleur par le biais de machines de Clusters. Il est essentiellement dédié au Big Data et Machine Learning.

C'est quoi Apache Spark ?

Pour les curieux, revenons sur la création d’Apache Spark !
Tout commence en 2009. Spark fut conçu par Matei Zaharia, un informaticien canadien, lors de son doctorat au sein de l’université de Californie à Berkeley. Initialement, son développement est une solution pour accélérer le traitement des systèmes Hadoop.

Aujourd’hui il s’agit d’un projet de la fondation Apache. Depuis 2009, plus de 1200 développeurs ont contribué au projet. Certains sont issus de sociétés réputées comme Intel, Facebook, IBM, Netflix…

En 2014, Spark établit officiellement un nouveau record dans le tri à grande échelle. Il remporte le concours Daytona Grey Sort en triant 100 To de données en 23 minutes seulement. Le précédent record du monde était de 72 minutes établi par Yahoo à l’aide d’un cluster Hadoop MapReduce de 2100 nœuds tandis que Spark utilise uniquement 206 nœuds. Cela signifie qu’il a trié les mêmes données trois fois plus rapidement en utilisant dix fois moins de machines. 

De plus, bien qu’il n’existe pas de compétition officielle de tri de pétaoctets, Spark va encore plus loin en triant 1 Po de données, ce qui équivaut à 10 000 milliards d’enregistrements, sur 190 machines en moins de quatre heures. 

Il s’agissait de l’un des premiers tri à l’échelle du pétaoctet jamais effectué dans un cloud public. L’obtention de cette référence marque une étape importante pour le projet Spark. Cela prouve que Spark tient sa promesse de servir de moteur plus rapide et plus évolutif pour le traitement de données de toutes tailles, des Go aux To aux PB.

Matei Zaharia, l’un des créateurs d’Apach Spark vous explique tout en vidéo!

Quels sont les avantages de Spark ?

Vous l’auriez compris, le principal avantage de Spark est sa rapidité. Spark a été conçue de bout à bout dans une optique de performance. Il utilise  pour cela, le calcul en mémoire et d’autres optimisations. 

Aujourd’hui il s’évalue cent fois plus rapide que Hadoop pour le traitement de données.Il utilise également moins de ressources que Hadoop et propose un modèle de programmation plus simple. 

Les développeurs mettent essentiellement en avant  la rapidité du produit en termes d’exécution des tâches par rapport à MapReduce. 

Spark est aussi connu pour sa simplicité d’utilisation et ses analyses sophistiquées. En effet, il possède des API simples d’usage afin de travailler sur des grands ensembles de données.  

De plus, Spark présente une certaine polyvalence. Il possède un logiciel de traitement de données en flux, un système de traitement par graphes. Il permet aussi de développer des applications en Java, Scala, Python et R de manière simplifiée ainsi que d’effectuer des requêtes SQL. 

Le moteur d’analyse regroupe  une grande quantité de bibliothèques de haut niveau prenant en charge les requêtes SQL, les données en flux, le machine learning et le traitement de graphes. Ces bibliothèques standards permettent aux développeurs de gagner en productivité. Elles peuvent facilement se combiner  dans la même application dans le but de créer des flux de travail complexes. 

Enfin, spark atteint des performances importantes pour les données par lot et en streaming grâce à un planificateur DAG, d’un optimiseur de requêtes et d’un moteur d’exécution physique.

Les différences entre Spark et MapReduce

Définissons rapidement ce qu’est MapReduce :

Il s’agit d’un modèle de programmation lancé par Google. MapReduce permet la manipulation de grande quantité de données. Pour les traiter, il les distribue dans un cluster de machines. 

MapReduce connaît un succès important auprès de sociétés possédant de grands centres de traitement de données comme Amazon ou Facebook. Diverses frameworks ont vu le jour afin de l’implémenter. Le plus connu est Hadoop développé par Apache Software Foundation.

Par ailleurs, avec MapReduce, la spécification de l’itération reste à la charge du programmeur. Des processus propres à la gestion de la reprise sur panne entraînent des performances médiocres. Spark emploie une méthode très différente. Elle consiste à placer les jeux de données en mémoire RAM et à éviter la pénalité des écritures  sur le disque. Ainsi Spark prend en charge le traitement In-memory ce qui permet d’augmenter les performances des applications analytiques du Big-Data et donc de gagner en rapidité. Il exécute la totalité des opérations d’analyses de données en mémoire en temps réel et ne s’appuie sur des disques uniquement lorsque la mémoire n’est pas suffisante. A contrario, Hadoop écrit directement sur des disques  après chacune des opérations et fonctionne par étape.

Qui utilise Spark ?

Depuis sa sortie, le moteur d’analyse unifiées a connu une adoption rapide par les entreprises de différents secteurs. Des piliers du monde de l’internet tels que Netflix, Yahoo et ebay ont développé spark à très grande échelle. 

Actuellement, Spark compte plus de 1200 contributeurs comme Intel, Facebook, IBM… et est désormais la communauté la plus importante du monde du big data

Il permet d’unifier toutes les applications de spark Big Data. Spark est également adapté pour les campagnes de marketing en temps réel, les recommandations de produits en  ligne ou encore la cybersécurité.

Quels sont les différents outils de Spark ?

  • Spark SQL permet d’exécuter des requêtes en langages SQL afin de changer et transformer des données. 
  • Spark streaming offre à son utilisateur un traitement des données en flux. Il utilise les données en temps-réel. 
  • Spark graphX traite des informations issues de graphes. 
  • Spark MLlib est une bibliothèque d’apprentissage automatique contenant tous les algorithmes et utilitaires d’apprentissage classiques tels que la classification, la régression, le clustering, le filtrage collaboratif et la réduction de dimension. 
Le projet Apache spark est encore d’actualité et ne cesse d’évoluer! De nombreuses entreprises mondiales l’utilisent au quotidien. C’est un outil essentiel dans le domaine du Big data ainsi qu’en Data Science! Si ce domaine vous intéresse n’hésitez pas à prendre RDV avec nos experts pour en savoir plus en Data Science et trouver la formation qui vous correspond !
Facebook
Twitter
LinkedIn

Tag de l'article :

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone

S'inscrire à la JPO :

Vous souhaitez recevoir notre newsletter data 💌 hebdomadaire ?