Qu’est ce que Spark

videoimg

Qu’est ce que Spark

453 lecteurs
Sommaire de l'article

Qu’est-ce qu’Apache Spark ?

Apache Spark est un cadre de traitement parallèle open-source conçu pour exécuter des logiciels d’analyse à grande échelle dans des clusters. Il est capable de gérer des tâches de traitement et d’analyse en temps réel et par lots.

Spark est devenu un programme de haut niveau de l’Apache Software Foundation en février 2014, et la première version 1.0 d’Apache Spark a été publiée en mai 2014. La version 2.0 de Spark a été publiée en juillet 2016.

La technologie a été initialement développée en 2009 par des scientifiques de l’Université de Californie à Berkeley pour accélérer le traitement des tâches au sein des systèmes Hadoop.

Spark Core, le cœur du projet qui offre la possibilité de distribuer l’acheminement des tâches, l’ordonnancement et les capacités d’E/S aux programmeurs, offre un remplacement meilleur et flexible de MapReduce qui est le cadre logiciel auquel étaient liées les premières versions d’Hadoop. Les développeurs de Spark affirment qu’il peut exécuter des tâches à un rythme 100 fois plus rapide que MapReduce si elles sont traitées en mémoire ainsi que 10 fois plus rapidement sur disque.

Qu’est-ce qu’Apache Spark ? Fonctionnement d’Apache Spark

Apache Spark peut traiter des données provenant de divers référentiels de données, tels que le système de fichiers distribués Hadoop (HDFS), les bases de données NoSQL et les magasins de données relationnels, comme Apache Hive. Spark prend en charge le traitement en mémoire, ce qui peut améliorer l’efficacité des applications de big analytics, mais il permet également le traitement traditionnel sur disque lorsque les ensembles de données sont trop volumineux pour être logés dans la mémoire du système.

Voir Aussi  Hadoop et Big Data

Le moteur Spark Core utilise le Resilient Distributed Dataset, ou RDD, comme principal type de données. Le RDD est conçu pour cacher aux utilisateurs la majeure partie de la complexité des calculs. Il recueille les données, puis les distribue sur les serveurs d’un cluster, qui peuvent être traitées et transférées vers un autre lieu de stockage des données ou traitées par un modèle analytique. L’utilisateur n’a pas à préciser l’endroit où sont stockés des fichiers particuliers ni les ressources informatiques utilisées pour stocker ou récupérer les fichiers.

En outre, Spark peut gérer plus que les applications par lots que MapReduce ne peut exécuter.

Bibliothèques Spark

Le moteur Spark Core fonctionne en partie comme une couche d’interface de programmation d’applications (API) qui sert de base à une série d’outils de gestion des données et d’analyse. Outre le moteur de traitement Spark Core, l’environnement Apache Spark API est fourni avec un ensemble de bibliothèques de code qui peuvent être utilisées pour des applications d’analyse de données. Ces bibliothèques comprennent :

  • Spark SQL – L’une des bibliothèques les plus populaires, Spark SQL permet aux utilisateurs d’accéder aux données stockées dans différentes applications en utilisant le langage SQL standard.
  • Spark Streaming La bibliothèque permet aux utilisateurs de construire des applications pour analyser et afficher des données en temps réel.
  • La MLlib est une bibliothèque de code d’apprentissage automatique qui permet aux utilisateurs d’appliquer des techniques statistiques avancées aux données de leur cluster Spark et de développer des applications basées sur ces analyses.
  • GraphX est une bibliothèque d’algorithmes permettant de paralléliser le calcul de graphes.
Voir Aussi  Boulanger Location mon compte : connexion à mon espace personnel

Langages Spark

Spark a été développé en Scala, qui est le principal langage utilisé pour l’interaction avec le moteur Spark Core. Spark comprend également des connecteurs API qui fonctionnent avec Java ainsi qu’avec Python. Java n’est pas considéré comme un langage idéal pour les données ou les sciences de l’ingénieur. C’est la raison pour laquelle de nombreux utilisateurs préfèrent Python, qui est plus simple et plus axé sur l’analyse des données.

Il est également fourni avec un paquetage R que les utilisateurs peuvent télécharger et exécuter dans Spark. Cela permet aux utilisateurs d’exécuter le langage de bureau bien connu pour la science des données sur un plus grand nombre d’ensembles de données distribués dans Spark, puis de l’utiliser pour développer des applications qui font appel à des algorithmes d’apprentissage automatique.

Cas d’utilisation d’Apache Spark

Le large éventail de bibliothèques Spark et sa capacité à traiter des données provenant de nombreux types de stockage de données permettent d’utiliser Spark pour résoudre divers problèmes dans différents secteurs. Les sociétés de publicité numérique l’utilisent pour gérer des bases de données d’activité Web et créer des campagnes adaptées à des publics spécifiques. Les sociétés financières l’utilisent pour collecter des données financières et développer des modèles pour orienter les décisions d’investissement. Les entreprises de biens de consommation l’utilisent pour collecter des données auprès des clients et prévoir les tendances afin d’orienter le processus de prise de décision en matière d’inventaire et de découvrir des opportunités de croissance potentielle du marché.

Les grandes entreprises qui utilisent des applications de big data utilisent Spark en raison de la rapidité de son traitement et de sa capacité à connecter différents types de bases de données et à exécuter une variété de logiciels analytiques. Actuellement, Spark est la plus grande communauté open source dans le domaine du big data avec plus de 1 000 contributeurs répartis dans 250 entreprises.

Voir Aussi  Qu’est-ce qu’un certificat SSL ? 
4.1/5 - (27 votes)
Marine
Marine

Passionnée par l'entreprenariat depuis plus de 10 ans, je suis à la tête d'une société française visant à favoriser la communication des entreprises. Également attiré par la finance, je partage mes conseils et expériences au travers mes articles de blog.

Retour en haut