Apache Spark concept with Random Parts of Program Code.Apache Sp

Apache Spark : À quoi sert ce moteur dédié au traitement de données XXL ?

Avec un seul ordinateur, vous pouvez réaliser un certain nombre de tâches. Cela peut-être de la bureautique ou du multimédia. Cependant, votre PC montrera rapidement ses limites pour d’autres travaux plus complexes tels que le traitement de données. Il vous faut plusieurs ordinateurs en réseau. Apache Spark est le moteur d’analyse qui permet justement de coordonner les efforts de plusieurs machines regroupées en clusters. Découvrez tout avec des mots simples !

Le projet open source Apache Spark

Dédié au big data, Apache Spark est un système unifié d’analyse de données à très grande échelle. Né de l’imagination de Matei Zaharia en 2009, ce puissant outil met à votre disposition les ressources de plusieurs ordinateurs reliés entre eux au sein de clusters. L’informaticien canadien à l’origine de ce programme l’a développé dans le cadre de son doctorat à l’université de Berkeley, en Californie dans l’ouest des États-Unis.

À ses débuts, l’outil de traitement de données Spark est conçu pour les systèmes Hadoop. Puis, le projet a pris de l’ampleur et devient autonome. Il est géré par la fondation Apache, une organisation à but non lucratif qui détient tout un parc de logiciels open source et de serveurs. Comme il s’agit d’un écosystème ouvert, Spark ne cesse de s’améliorer.

Quelque 1200 développeurs ont mis les mains à la patte. Certains de ces contributeurs viennent de la part de sociétés telles qu’Intel, IBM ou Netflix. Vous l’aurez peut-être compris, ce programme peut s’adapter aux besoins des utilisateurs. Pour Ebay et Facebook par exemple, il permet de lancer une campagne ciblée. Pinterest l’utilise pour mettre en avant les photos « tendance ».

Record en matière de traitement de données

En 2014, Apache Spark remporte le concours Daytona Grey Sort. Il établit un record en matière de tri de données à grande échelle en analysant 100 Téraoctets de datas en une vingtaine de minutes. C’est trois fois plus rapide que le cluster Hadoop MapReduce de Yahoo qui réalise la même mission en 72 minutes. Le fonctionnement révolutionnaire du système open source emploie seulement 206 nœuds au lieu des 2100 nœuds pour le détenant du précédent record.

Le nombre de nœuds indique l’effectif d’ordinateurs contribuant au réseau de calcul. Apache Spark s’avère 3 fois plus efficace avec 10 fois moins de PC à sa disposition. Leader incontesté dans le tri de données, le cluster a réussi à analyser 1 pétaoctet de datas. C’est l’équivalent de 10 000 milliards d’enregistrements répartis sur 190 machines. Une grande première, cette prouesse technologique est exécutée en moins de quatre heures.

Apache Spark fut le premier outil de traitement de données dans un cloud public à avoir atteint le pétaoctet. Imaginez-vous un instant en train de comprendre l’équivalent de 1 million de milliards d’octets en quelques minutes. En plus d’être très rapide, cet outil de tri a aussi le mérite d’être évolutif. Ses limites sont sans cesse repoussées pour le besoin d’utilisateurs exigeants. Ce sont généralement des ténors du cloud computing.

A lire également  Les patients de la Clinique Pasteur peuvent consulter un médecin à distance

D’autres bonnes raisons d’apprivoiser ce cluster

Spark a détrôné Hadoop en proposant jusqu’à 100 fois plus de performance. Il a la particularité d’utiliser moins de ressources pour des résultats concis. De plus, la prise en main de ce programme de grande envergure reste relativement simple. C’est la raison pour laquelle de très nombreux développeurs ont contribué au projet. L’exécution des tâches est trois fois plus rapide comparé à MapReduce, l’autre grand nom dans le domaine de data science.

Les analyses sous Spark peuvent être sophistiquées sans accaparer les ressources. Il revient à chaque programmeur de le modeler en fonction de ses besoins. Toutefois, les API demeurent toujours simples d’usage. Ce qui confère une polyvalence au programme. Les traitements peuvent se faire sur un flux. Il est aussi possible d’obtenir des graphes très faciles à comprendre. Le système reste compatible avec les applications Java, R, Scala et Python. Pragmatique, il gère les requêtes SQL à la perfection.

Basé sur le machine learning, Spark comporte de nombreuses bibliothèques standards. Dans l’optique de gagner en productivité, il combine un flux de travail complexe. Les données sont traitées par lot. Grâce à un planificateur DAG, ils sont gérés en streaming. À ses multiples fonctionnalités s’ajoutent un optimiseur de requêtes ainsi qu’un moteur d’exécution physique.

Un puissant outil destiné aux professionnels

En tant que moteur d’analyse unifié, Spark s’adresse essentiellement aux entreprises. Les usagers professionnels viennent de divers secteurs dont les médiaux sociaux, l’e-commerce, la vidéo à la demande. Ces sociétés l’utilisent pour les campagnes marketing ciblées, les recommandations de produits ainsi que la cybersécurité.

Avec ses 1200 contributeurs, il s’agit de la plus grande communauté regroupée autour d’un logiciel open source. Parmi les branches disponibles, il y a :

  • Spark MLlib la bibliothèque d’apprentissage automatique. Elle permet de classifier, filtrer, régresser, faire un clustering, compresser, etc.
  • Spark SQL l’exécuteur en langages SQL qui transforme les données.
  • Spark streaming l’outil de traitement en temps réel de flux.
  • Spark graphX qui offre des graphiques.

 

Yohann G.