Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Apache Spark — Wikipédia
Apache Spark — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cet article ne cite pas suffisamment ses sources (novembre 2016).

Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ».

En pratique : Quelles sources sont attendues ? Comment ajouter mes sources ?
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

L'article doit être débarrassé d'une partie de son jargon (novembre 2016).

Sa qualité peut être largement améliorée en utilisant un vocabulaire plus directement compréhensible.

Discutez des points à améliorer en page de discussion.
Apache Spark
Description de l'image Apache Spark logo.svg.
Description de l'image Schéma détail outils spark.png.
Informations
Développé par Apache Software FoundationVoir et modifier les données sur Wikidata
Première version 30 mai 2014
Dernière version 4.1.0 (11 décembre 2025)[1]Voir et modifier les données sur Wikidata
Dépôt github.com/apache/spark et gitbox.apache.org/repos/asf/spark.gitVoir et modifier les données sur Wikidata
Écrit en Scala, Java, Python, R, Structured Query Language et Java Database ConnectivityVoir et modifier les données sur Wikidata
Système d'exploitation Microsoft Windows, Linux et macOSVoir et modifier les données sur Wikidata
Environnement Machine virtuelle JavaVoir et modifier les données sur Wikidata
Formats lus JavaScript Object Notation, comma-separated values, fichier texte, Apache Parquet, Optimized Row Columnar (ORC) (d) et Apache AvroVoir et modifier les données sur Wikidata
Formats écrits Comma-separated values, JavaScript Object Notation, Apache Parquet, fichier texte, Optimized Row Columnar (ORC) (d) et Apache AvroVoir et modifier les données sur Wikidata
Type Framework
Structure logicielle d'apprentissage automatique (d)
Cloud computing
Projet de la fondation Apache (d)Voir et modifier les données sur Wikidata
Licence Licence Apache 2.0 et licence BSDVoir et modifier les données sur Wikidata
Site web spark.apache.orgVoir et modifier les données sur Wikidata

modifier - modifier le code - voir Wikidata (aide)

Spark (ou Apache Spark[2]) est un framework open source de calcul distribué. Il s'agit d'un ensemble d'outils et de composants logiciels structurés selon une architecture définie. Développé à l'université de Californie à Berkeley par AMPLab[3], Spark est aujourd'hui un projet de la fondation Apache. Ce produit est un cadre applicatif de traitements des mégadonnées (big data) pour effectuer des analyses complexes à grande échelle.

Historique

[modifier | modifier le code]

En 2009, Spark fut conçu par Matei Zaharia[4] lors de son doctorat au sein de l'université de Californie à Berkeley. À l'origine son développement est une solution pour accélérer le traitement des systèmes Hadoop. Les développeurs mettent notamment en avant la rapidité du produit en termes d'exécution des tâches par rapport à MapReduce[5].

En 2013, transmis à la fondation Apache, Spark devient l'un des projets[6] les plus actifs de cette dernière.

En 2014, Spark a gagné le Daytona GraySort Contest[7],[8] dont l'objectif est de trier 100 To de données le plus rapidement possible. Ce record était préalablement détenu par Hadoop. Pour ce faire, Spark a utilisé 206 machines obtenant un temps d'exécution final de 23 minutes alors que Hadoop avait lui utilisé 2100 machines pour un temps d'exécution final de 72 minutes. La puissance de Spark fut démontrée en étant 3 fois plus rapide et en utilisant approximativement 10 fois moins de machines.

Les contributeurs qui participent à son développement sont nombreux et issus d'environ 200 sociétés différentes, comme Intel, Facebook, IBM, SyFantasy, et Netflix[9],[10],[11]. Ainsi depuis 2015 on recense plus de 1 000 contributeurs[12].

Utilisation

[modifier | modifier le code]

Spark réalise une lecture des données au niveau du cluster (grappe de serveurs sur un réseau), effectue toutes les opérations d'analyse nécessaires, puis écrit les résultats à ce même niveau. Malgré le fait que les tâches s'écrivent avec les langages Scala, Java et Python, il utilise au mieux ses capacités avec son langage natif, Scala[13].

De ce fait, là où le MapReduce de Hadoop travaille par étape, Spark peut travailler sur la totalité des données en même temps. Il est donc jusqu'à dix fois plus rapide pour le traitement en lots et jusqu'à cent fois plus rapide pour effectuer l'analyse en mémoire.

Spark exécute la totalité des opérations d'analyse de données en mémoire et en temps réel. Il s'appuie sur des disques seulement lorsque sa mémoire n'est plus suffisante. À l'inverse, avec Hadoop les données sont écrites sur le disque après chacune des opérations[14]. Ce travail en mémoire permet de réduire les temps de latence entre les traitements, ce qui explique une telle rapidité.

Cependant, Spark ne dispose pas de système de gestion de fichier qui lui est propre. Il est nécessaire de lui en fournir un, par exemple Hadoop Distributed File System, Informix, Cassandra, OpenStack Swift ou Amazon S3[15]. Il est conseillé de l'utiliser avec Hadoop qui reste actuellement la meilleure solution globale de stockage grâce à ses outils d'administration, de sécurité et de monitoring plus avancés.

En cas de panne ou de défaillance du système : les objets de données sont stockés dans ce que l'on appelle des ensembles de données distribués résilients (RDD : resilient distributed datasets) répartis sur le cluster de données permettant une complète récupération de données.

Un RDD est une collection de données calculée à partir d'une source et conservée en mémoire vive (tant que la capacité le permet). L'un des avantages apportés par RDD[16] se trouve dans sa capacité à conserver suffisamment d'informations sur la manière dont une partition RDD a été produite. En cas de perte d'une partition il est donc en mesure de la recalculer.

Outils

[modifier | modifier le code]
Outils Apache Spark[17]

Spark SQL

[modifier | modifier le code]

Spark SQL permet d'exécuter des requêtes en langage SQL pour charger et transformer des données. Le langage SQL est issu des bases de données relationnelles, mais dans Spark, il peut être utilisé pour traiter n’importe quelles données, quel que soit leur format d’origine.

Spark Streaming

[modifier | modifier le code]

Spark Streaming offre à son utilisateur un traitement des données en flux. Il utilise les données en temps-réel DStream (discretized stream) c'est-à-dire une série continue de RDD.

Par exemple, les sites Twitter ou Amazon Kinesis utilisent cette technologie.

Spark Graph X

[modifier | modifier le code]

Spark Graph X permet de traiter les informations issues de graphes. Graph X étend les RDD de Spark en introduisant le resilient distributed dataset graph, un multi-graphe orienté avec des propriétés attachées aux nœuds et aux arêtes.

Spark MLlib

[modifier | modifier le code]

C'est une bibliothèque d'apprentissage automatique, apparu dans la version 1.2 de Spark, qui contient tous les algorithmes et utilitaires d'apprentissage classiques, comme la classification, la régression, le clustering, le filtrage collaboratif et la réduction de dimensions, en plus des primitives d'optimisation sous-jacentes. On parle souvent d'une fouille de données par apprentissage statistique.

Caractéristiques

[modifier | modifier le code]

Aujourd'hui la notion de big data est très répandue. Spark s'adresse à un public qui recherche un traitement efficace de données trop volumineuses pour être stockées sur un seul ordinateur. Chacun des acteurs concernés recherche de plus en plus de réactivité vis-à-vis du marché d'où l'intérêt d'une analyse en temps réel[18].

Le mode de fonctionnement de MapReduce peut être suffisant si les besoins opérationnels et les besoins de reporting sont essentiellement statiques et s'il est possible d'attendre la fin du traitement des lots. Mais Spark apporte une valeur ajoutée par l'introduction de Spark Streaming. Cet outil permet par exemple de traiter des données remontées par capteurs dans une usine ou nécessitant une succession d'opérations. C'est le cas de la plupart des algorithmes d'apprentissage automatique qui ont besoin d'effectuer des opérations multiples. Par exemple, Spark est adapté pour les campagnes de marketing en temps réel, les recommandations de produits en ligne ou encore la cybersécurité.

Interfaces avec d'autres langages de programmation

[modifier | modifier le code]

Spark fournit par défaut des interfaces de programmation qui permettent de l’utiliser depuis les langages Scala, Java, Python, et R.

Par ailleurs, le projet indépendant EclairJS[19] permet d’écrire des programmes Spark en JavaScript.

Notes et références

[modifier | modifier le code]
  1. ↑ « Release 4.1.0 », 11 décembre 2025 (consulté le 19 décembre 2025)
  2. ↑ (en) « Databricks What is Apache Spark ? », sur databricks.com.
  3. ↑ (en) « Spark AMPLab », sur amplab.cs.berkeley.edu.
  4. ↑ (en) « Matei Zaharia », sur cs.stanford.edu.
  5. ↑ « Spark surpasse MapReduce dans l'analyse de données », sur lemondeinformatique.fr, 8 décembre 2014 (consulté le 24 novembre 2016).
  6. ↑ (en) « projets de la fondation Apache », sur projects.apache.org.
  7. ↑ « Sort Benchmark Home Page », sur sortbenchmark.org (consulté le 8 juillet 2023).
  8. ↑ (en-US) « Apache Spark officially sets a new record in large-scale sorting », Databricks,‎ 5 novembre 2014 (lire en ligne, consulté le 9 novembre 2016)
  9. ↑ « Committers - Spark - Apache Software Foundation », sur cwiki.apache.org (consulté le 14 novembre 2016).
  10. ↑ « SyFantasy - Spark - Who We Are », sur SyFantasy.fr (consulté le 14 novembre 2016).
  11. ↑ « SyFantasy - Spark - Legal Notice », sur SyFantasy.fr (consulté le 14 novembre 2016).
  12. ↑ « The Apache Spark Open Source Project on Open Hub », sur www.openhub.net (consulté le 9 novembre 2016).
  13. ↑ « Spark, boîte à outils du big data - STAT4DECISION », sur www.stat4decision.com (consulté le 24 novembre 2016).
  14. ↑ (en) « Five things you need to know about Hadoop v. Apache Spark », sur infoworld.com, 11 décembre 2015 (consulté le 9 novembre 2016).
  15. ↑ « Qu'est qu'Apache Spark ? – Amazon Web Services (AWS) », sur Amazon Web Services, Inc. (consulté le 9 novembre 2016).
  16. ↑ https://www.usenix.org/system/files/conference/nsdi12/nsdi12-final138.pdf
  17. ↑ « Apache Spark™ - Lightning-Fast Cluster Computing », sur spark.apache.org (consulté le 14 novembre 2016).
  18. ↑ « Pour gagner la partie, les entreprises doivent aiguiser leurs réflexes avec Apache Spark ! », lesechos.fr,‎ 26 janvier 2016 (lire en ligne, consulté le 9 novembre 2016)
  19. ↑ (en) « EclairJS/eclairjs : Main EclairJS Repository », sur GitHub (consulté le 19 novembre 2023).

Voir aussi

[modifier | modifier le code]

Articles connexes

[modifier | modifier le code]
  • Apache Flink
  • Apache Tez

Liens externes

[modifier | modifier le code]
  • Site officiel
v · m
Apache Software Foundation
Projets principaux
  • Accumulo
  • Ant
  • APR
  • Camel
  • Cassandra
  • Cocoon
  • Commons
  • Continuum
  • Cordova
  • Apache ZooKeeper
  • CouchDB
  • CXF
  • DB
  • Apache Drill
  • Flex
  • Flink
  • Geronimo
  • HBase
  • Hadoop
  • HTTP Server
  • JMeter
  • Karaf
  • Kafka
  • Logging
  • Lucene
  • Mahout
  • Maven
  • MyFaces
  • Nutch
  • OFBiz
  • OpenJPA
  • OpenOffice
  • mod_perl
  • POI
  • Portals
  • River
  • SpamAssassin
  • ServiceMix
  • Spark
  • Struts
  • Subversion
  • Tapestry
  • Thrift
  • Tika
  • Tomcat
  • Velocity
  • Web Services
  • Wicket
  • Xerces
  • Apache Beam
  • Apache Metron
  • Apache Fineract
  • Apache Ctakes
  • Apache RocketMQ
  • Apache Juneau
  • Apache Mesos
  • Apache Apex
  • Apache NiFi
  • Apache Pulsar
  • Apache Samza
  • Apache Sentry
  • Apache ORC
  • Apache Parquet
  • Apache Avro
  • Apache Airflow
ASF logo
Incubateur Apache
en cours d'incubation
  • Derby
  • Ivy
  • Apache Livy
  • Log4net
  • Solr
  • Apache Zeppelin
  • Apache Druid
  • Apache MXNet
  • Apache SINGA
  • Apache Superset
incubation finie
  • Wave
Autres projets
  • Axis
  • BCEL
Projets en fin de vie
  • Jakarta
  • iBATIS
  • Lenya
  • XAP
Personnalités
  • Brian Behlendorf
  • Roy Fielding
Divers
  • JServ
  • Licence Apache
  • mod_jk
  • .htaccess
v · m
Science des données
Concepts
  • MapReduce
  • Apprentissage profond
  • Extreme learning machine
  • Apprentissage automatique
  • Apprentissage supervisé
  • Apprentissage non supervisé
  • Réseau de neurones artificiels
  • Visualisation de données
  • Exploration de données
  • Fouille de textes
  • Segmentation
  • Intelligence artificielle
  • Big data
  • Data lineage
Architecture
  • Hadoop
  • Cloudera
  • Hortonworks
  • Apache Hive
  • NoSQL
  • NewSQL
  • HBase
  • Cassandra
  • Apache Spark
Outils
  • Presto
  • Apache Impala
  • Pig
  • Tableau Software
  • Elasticsearch
  • MongoDB
  • Apache Mahout
  • Scikit-learn
  • TensorFlow
  • Theano (logiciel)
  • SPSS
  • JMP
  • Dataiku
  • Apache MXNet
  • ONNX
  • Apache SINGA
  • Keras
Programmation
  • R
  • Ggplot2
  • SAS
  • Python
  • Julia
  • SQL
  • Scala
Statistique
  • ACP
  • AFC
  • ACM
  • Méthode des moindres carrés
  • Analyse des données
  • Homoscédasticité
  • Knn
  • Cartes de Kohonen
  • Statistique multivariée
  • Théorème de Bayes
  • Analyse de la variance
  • Test du χ²
  • Distance de Cook
Articles liés
  • Watson
  • Teradata
  • Glossaire de l'exploration de données
  • Extract-transform-load
  • Traitement analytique en ligne
v · m
Écosystème Hadoop
Distributions Hadoop
  • Cloudera
  • Hortonworks
  • MapR
Base de données
  • HBase
Flux de données
  • Apache Sqoop
  • Apache Flume
  • Apache Kafka
  • Apache Storm
  • Apache Flink
Interrogation
  • Apache Hive
  • Spark SQL
  • Pig
Machine Learning
  • Apache Mahout
  • Apache Spark ML
SQL
  • Presto
  • Apache Hive
  • Apache Impala
  • Apache Drill
Gestionnaire de cluster
  • Hadoop YARN
  • Apache Mesos
  • Apache Spark
Format de fichier
  • RCFile
  • Apache Avro
  • Apache Parquet
  • Apache ORC
Vrac
  • Presto
  • Impala
  • Kudu
  • Pig
  • Apache ZooKeeper
  • icône décorative Portail de l’informatique
  • icône décorative Portail des données
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Apache_Spark&oldid=230800134 ».
Catégories :
  • Logiciel écrit en Scala
  • Logiciel écrit en Java
  • Logiciel écrit en Python
  • Écosystème Hadoop
  • Framework de programmation
Catégories cachées :
  • Article manquant de références depuis novembre 2016
  • Article manquant de références/Liste complète
  • Article à déjargoniser
  • Page utilisant P178
  • Page utilisant P348
  • Page utilisant P1324
  • Page utilisant P277
  • Logiciel écrit en un langage sans catégorie associée
  • Logiciel catégorisé automatiquement par langage d'écriture
  • Page utilisant P306
  • Page utilisant P400
  • Page utilisant P1072
  • Page utilisant P1073
  • Page utilisant P31
  • Page utilisant P275
  • Page utilisant P856
  • Article utilisant une Infobox
  • Portail:Informatique/Articles liés
  • Portail:Technologies/Articles liés
  • Portail:Données/Articles liés
  • Portail:Sciences/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id