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

-
5
 m de lecture
-
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!

Apache Spark : le plus grand projet open source de Big Data

Initialement développé à l’UC Berkeley en 2009, Apache Spark est un moteur analytique unifié pour le Big Data et le Machine Learning. Cet outil se distingue par sa vitesse impressionnante et sa simplicité d’utilisation.
Depuis son lancement, Apache Spark a été adopté par de nombreuses entreprises dans une large variété d’industries. Les géants d’internet comme Netflix, Yahoo et eBay ont déployé Spark et traitent de multiples petabytes de données sur des clusters de plus de 8000 noeuds.


En quelques années, Apache Spark est rapidement devenu le plus grand projet open source du Big Data. Il totalise plus de 1000 contributeurs issus de plus de 250 organisations.
Ce projet 100% open source est hébergé par la Apache Software Foundation. Toutefois, Apache Spark, Spark et le logo Spark sont des marques déposées par cette fondation ASF.
En tant qu’organisation non lucrative, l’ASF doit prendre des précautions sur la façon dont ses marques déposées sont utilisées par les organisations. Elle doit notamment s’assurer que ses produits logiciels soient clairement distincts des produits tiers.


Les entreprises qui souhaitent fournir les logiciels, services, événements et autres produits basés sur Apache Spark doivent se référer à la politique de marque déposée de la fondation et à sa FAQ.
Les produits logiciels commerciaux ou open source ne sont pas autorisés à utiliser Spark dans leur nom, sauf sous la forme « powered by Apache Spark » ou « for Apache Spark ». Des règles strictes doivent être respectées.
Les noms dérivés de « Spark » comme « Sparkly » ne sont pas non plus autorisés, et les noms d’entreprises ne peuvent pas inclure « Spark ». Les identificateurs de package peuvent contenir le mot « spark », mais le nom complet utilisé pour le package logiciel doit suivre les règles.


Le matériel écrit doit faire référence au projet comme « Apache Spark » dans la première mention, et logos dérivés de celui de Spark ne sont pas autorisés. Enfin, les noms de domaines contenant « Spark » ne sont pas autorisés sans permission écrite d’Apache Spark PMC.

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.

LANCEZ VOTRE CARRIÈRE :
DEVENEZ DATA SCIENTIST !

Une reconversion dans le big data vous intéresse, mais vous ne savez pas par où commencer ? Découvrez notre formation de Data Scientist.

LANCEZ VOTRE CARRIÈRE :
DEVENEZ DATA SCIENTIST !

Une reconversion dans le big data vous intéresse, mais vous ne savez pas par où commencer ?

Découvrez notre formation de Data Scientist

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 !

LANCEZ VOTRE CARRIÈRE :
DEVENEZ DATA SCIENTIST !

Une reconversion dans le big data vous intéresse, mais vous ne savez pas par où commencer ? Découvrez notre formation de Data Scientist.

LANCEZ VOTRE CARRIÈRE :
DEVENEZ DATA SCIENTIST !

Une reconversion dans le big data vous intéresse, mais vous ne savez pas par où commencer ?

Découvrez notre formation de Data Scientist
Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

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
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?