SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Amal ABID – Cours GI3 ENIS 1
Chapitre 4
Spark
• Framework de conception et d'exécution Map/Reduce.
• Originellement (2014) un projet de l'université de Berkeley en Californie,
désormais un logiciel libre de la fondation Apache.
• Licence Apache.
• Trois modes d'exécution:
 Cluster Spark natif.
 Hadoop (YARN).
 Mesos (Spark natif + scheduler Mesos).
• C’est un moteur MapReduce plus évolué, plus rapide pour les tâches
impliquant de multiples maps et/ou reduce.
 Utilisation de la mémoire pour optimiser les traitements.
 Des API’s pour faciliter et optimiser les étapes d’analyses.
Spark : Présentation
2
Spark : Plus rapide
Amal ABID – Cours GI3 ENIS 3
• Spark est développé en Scala et supporte quatre langages: Scala, Java, Python
(PySpark), R (SparkR).
• Une liste d’Operaters pour faciliter la manipulation des données au travers des RDD’S.
 Map, filter, groupBy, sort, join, leftOuterJoin, rightOuterJoin, reduce, count, reduceByKey,
groupByKey, first, union, cross, sample, cogroup, take, partionBy, pipe, save,…
Spark : Facile à utiliser (1/2)
4
5Amal ABID – Cours GI3 ENIS
Spark : Facile à utiliser (2/2)
Spark : Architecture
6Amal ABID – Cours GI3 ENIS
• Spark est capable de
déterminer quand il aura
besoin de sérialiser les
données / les réorganiser; et
ne le fait que quand c'est
nécessaire.
• On peut également
explicitement lui demander
de conserver des données en
RAM, parce qu'on sait
qu'elles seront nécessaires
entre plusieurs instances
d'écriture disque.
• Au centre du paradigme employé par Spark, on trouve la notion de RDD, pour Resilient
Distributed Datasets.
• Il s'agit de larges hashmaps stockées en mémoire et sur lesquelles on peut appliquer des
traitements.
• Ils sont:
 Distribués.
 Partitionnés (pour permettre à plusieurs noeuds de traiter les données).
 Redondés (limite le risque de perte de données).
 En lecture seule: un traitement appliqué à un RDD donne lieu à la création d'un nouveau RDD.
• Deux types d'opérations possibles sur les RDDs:
 Une transformation: une opération qui modifie les données d'un RDD. Elle donne lieu à la
création d'un nouveau RDD. Les transformations fonctionnent en mode d'évaluation lazy:
elles ne sont exécutées que quand on a véritablement besoin d'accéder aux données. "map"
est un exemple de transformation.
 Une action: elles accèdent aux données d'un RDD, et nécessitent donc son évaluation
(toutes les transformations ayant donné lieu à la création de ce RDD sont exécutées l'une
aprés l'autre). "saveAsTextFile" (qui permet de sauver le contenu d'un RDD) ou "count"
(qui renvoie le nombre d'éléments dans un RDD) sont des exemples d'actions.
Spark : Architecture - RDD
• Les applications Spark s’exécutent comme un ensemble de processus indépendants sur un
cluster, coordonnés par un objet SparkContext du programme principal, appelé Driver
Program.
• Pour s’exécuter sur un cluster, le SparkContext se connecte à un Cluster Manager, qui peut
être soit un gestionnaire standalone de Spark, soit YARN ou Mesos, pour l’allocation de
ressources aux applictions.
• Une fois connecté, Spark lance des executors sur les nœuds du cluster, des processus qui lancent
des traitements et stockent les données pour les applications.
• Il envoie ensuite le code de l’application (Jar ou ficher python) aux executors. SparkContext
envoie ensuite les Tasks aux executors pour qu’ils les lancent.
Spark : Architecture - Exécution
Spark : Un framework analytique
Amal ABID – Cours GI3 ENIS 9
Spark : Avantages
10
Amal ABID – Cours GI3 ENIS
• Performances supérieures à celles de Hadoop pour une large quantité
de problèmes; et presque universellement au moins équivalentes pour
le reste.
• API simple et bien documentée; très simple à utiliser. Paradigme plus
souple qui permet un développement conceptuellement plus simple.
• Très intégrable avec d'autres solutions; peut très facilement lire des
données depuis de nombreuses sources, et propose des couches
d'interconnexion très faciles à utiliser pour le reste (API dédiée
Spark Streaming, Spark SQL).
• APIs dédiées pour le traitement de problèmes en machine learning
(Spark MLlib) et graphes (Spark GraphX).
Spark : Performances
11
Amal ABID – Cours GI3 ENIS
• Fortement dépendantes du problème mais d'une manière générale
supérieures à Hadoop. Dans le cas de problèmes complexes,
effectuant de nombreuses opérations sur les données et notamment
sur les mêmes données antérieures, fortement supérieures (jusqu'à
100x plus rapide).
• Même sans travailler plusieurs fois sur les
mêmes données ou sans persistance
explicite particulière, le paradigme de
programme parallélisé en graphe acyclique
couplé aux RDDs et leurs propriétés
permet des améliorations notables (~10x) pour de nombreux
problèmes dépassant le cadre rigide du simple map/shuffle/reduce
lancé une fois.
Spark : Inconvénients
12
Amal ABID – Cours GI3 ENIS
• Spark consomme beaucoup plus de mémoire vive que Hadoop,
puisqu'il est susceptible de garder une multitude de RDDs en
mémoire. Les serveurs nécessitent ainsi plus de RAM.
• Il est moins mature que Hadoop.
• Son cluster manager (« Spark Master ») est encore assez immature et
laisse à désirer en terme de déploiement / haute disponibilité /
fonctionnalités additionnelles du même type; dans les faits, il est
souvent déployé via Yarn, et souvent sur un cluster Hadoop existant.
Spark : Usage /Manipulation (1/5)
13
Amal ABID – Cours GI3 ENIS
14
Amal ABID – Cours GI3 ENIS
Spark : Usage /Manipulation (2/5)
15
Amal ABID – Cours GI3 ENIS
Spark : Usage /Manipulation (3/5)
16
Amal ABID – Cours GI3 ENIS
Spark : Usage /Manipulation (4/5)
17
Amal ABID – Cours GI3 ENIS
La manipulation de l’exemple "Word Count" est fournie en "TP Spark"
sous la VM Cloudera où Spark est installé et prêt à l’utilisation.
Spark : Usage /Manipulation (5/5)

Mais conteúdo relacionado

Mais procurados

BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : CassandraLilia Sfaxi
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystèmeKhanh Maudoux
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopLilia Sfaxi
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & SparkAlexia Audevart
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingLilia Sfaxi
 
Installation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abidInstallation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abidAmal Abid
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduceAmal Abid
 
Intégration des données avec Talend ETL
Intégration des données avec Talend ETLIntégration des données avec Talend ETL
Intégration des données avec Talend ETLLilia Sfaxi
 
Chp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de DonnéesChp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de DonnéesLilia Sfaxi
 
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Hatim CHAHDI
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherLilia Sfaxi
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5Amal Abid
 
BigData_TP5 : Neo4J
BigData_TP5 : Neo4JBigData_TP5 : Neo4J
BigData_TP5 : Neo4JLilia Sfaxi
 
Introduction au big data
Introduction au big dataIntroduction au big data
Introduction au big dataAbdelghani Azri
 

Mais procurados (20)

BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystème
 
Chapitre 3 spark
Chapitre 3 sparkChapitre 3 spark
Chapitre 3 spark
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data Processing
 
Installation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abidInstallation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abid
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-Reduce
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
 
Hadoop
HadoopHadoop
Hadoop
 
Intégration des données avec Talend ETL
Intégration des données avec Talend ETLIntégration des données avec Talend ETL
Intégration des données avec Talend ETL
 
Chp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de DonnéesChp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de Données
 
Les BD NoSQL
Les BD NoSQLLes BD NoSQL
Les BD NoSQL
 
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
 
BigData_TP5 : Neo4J
BigData_TP5 : Neo4JBigData_TP5 : Neo4J
BigData_TP5 : Neo4J
 
Bi
BiBi
Bi
 
Introduction au big data
Introduction au big dataIntroduction au big data
Introduction au big data
 

Destaque

Apprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de rechercheApprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de recherchePhilippe YONNET
 
Machine learning
Machine learningMachine learning
Machine learningebiznext
 
Analyse financière
Analyse financièreAnalyse financière
Analyse financièreAbdo attar
 
Machine intelligente d’analyse financiere
Machine intelligente d’analyse financiereMachine intelligente d’analyse financiere
Machine intelligente d’analyse financiereSabrine MASTOURA
 
Introduction au Machine Learning
Introduction au Machine LearningIntroduction au Machine Learning
Introduction au Machine LearningMathieu Goeminne
 
Machine learning, deep learning et search : à quand ces innovations dans nos ...
Machine learning, deep learning et search : à quand ces innovations dans nos ...Machine learning, deep learning et search : à quand ces innovations dans nos ...
Machine learning, deep learning et search : à quand ces innovations dans nos ...Antidot
 
Mix it2014 - Machine Learning et Régulation Numérique
Mix it2014 - Machine Learning et Régulation NumériqueMix it2014 - Machine Learning et Régulation Numérique
Mix it2014 - Machine Learning et Régulation NumériqueDidier Girard
 
Mahout classification presentation
Mahout classification presentationMahout classification presentation
Mahout classification presentationNaoki Nakatani
 
Machine learning pour tous
Machine learning pour tousMachine learning pour tous
Machine learning pour tousDamien Seguy
 
Ia project Apprentissage Automatique
Ia project Apprentissage AutomatiqueIa project Apprentissage Automatique
Ia project Apprentissage AutomatiqueNizar Bechir
 
TP2 Big Data HBase
TP2 Big Data HBaseTP2 Big Data HBase
TP2 Big Data HBaseAmal Abid
 
Machine Learning and Apache Mahout : An Introduction
Machine Learning and Apache Mahout : An IntroductionMachine Learning and Apache Mahout : An Introduction
Machine Learning and Apache Mahout : An IntroductionVarad Meru
 

Destaque (13)

Apprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de rechercheApprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de recherche
 
Machine learning
Machine learningMachine learning
Machine learning
 
Analyse financière
Analyse financièreAnalyse financière
Analyse financière
 
Machine intelligente d’analyse financiere
Machine intelligente d’analyse financiereMachine intelligente d’analyse financiere
Machine intelligente d’analyse financiere
 
Mahout clustering
Mahout clusteringMahout clustering
Mahout clustering
 
Introduction au Machine Learning
Introduction au Machine LearningIntroduction au Machine Learning
Introduction au Machine Learning
 
Machine learning, deep learning et search : à quand ces innovations dans nos ...
Machine learning, deep learning et search : à quand ces innovations dans nos ...Machine learning, deep learning et search : à quand ces innovations dans nos ...
Machine learning, deep learning et search : à quand ces innovations dans nos ...
 
Mix it2014 - Machine Learning et Régulation Numérique
Mix it2014 - Machine Learning et Régulation NumériqueMix it2014 - Machine Learning et Régulation Numérique
Mix it2014 - Machine Learning et Régulation Numérique
 
Mahout classification presentation
Mahout classification presentationMahout classification presentation
Mahout classification presentation
 
Machine learning pour tous
Machine learning pour tousMachine learning pour tous
Machine learning pour tous
 
Ia project Apprentissage Automatique
Ia project Apprentissage AutomatiqueIa project Apprentissage Automatique
Ia project Apprentissage Automatique
 
TP2 Big Data HBase
TP2 Big Data HBaseTP2 Big Data HBase
TP2 Big Data HBase
 
Machine Learning and Apache Mahout : An Introduction
Machine Learning and Apache Mahout : An IntroductionMachine Learning and Apache Mahout : An Introduction
Machine Learning and Apache Mahout : An Introduction
 

Semelhante a Cours Big Data Chap4 - Spark

Spark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsSpark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsMICHRAFY MUSTAFA
 
Distributed computing with Spark 2.x
Distributed computing with Spark 2.xDistributed computing with Spark 2.x
Distributed computing with Spark 2.xDr Hajji Hicham
 
Spark - An In-Memory Distributed Computing Engine.pptx
Spark - An In-Memory Distributed Computing Engine.pptxSpark - An In-Memory Distributed Computing Engine.pptx
Spark - An In-Memory Distributed Computing Engine.pptxAnass Nabil
 
160813-technology-template-16x9.pptx
160813-technology-template-16x9.pptx160813-technology-template-16x9.pptx
160813-technology-template-16x9.pptxmajdoulineaitabdelal
 
Presentation des outils traitements distribues
Presentation des outils traitements distribuesPresentation des outils traitements distribues
Presentation des outils traitements distribuesLê Anh
 
Architecture Big Data open source S.M.A.C.K
Architecture Big Data open source S.M.A.C.KArchitecture Big Data open source S.M.A.C.K
Architecture Big Data open source S.M.A.C.KJulien Anguenot
 
Hadoop Introduction in Paris
Hadoop Introduction in ParisHadoop Introduction in Paris
Hadoop Introduction in ParisTed Drake
 
P8 03 presentation
P8 03 presentationP8 03 presentation
P8 03 presentationrajiasellami
 
Apache solr andré bois-crettez 08
Apache solr   andré bois-crettez 08Apache solr   andré bois-crettez 08
Apache solr andré bois-crettez 08Loïc Descotte
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introductionfredcons
 
Présentation_HADOOP.pptx
Présentation_HADOOP.pptxPrésentation_HADOOP.pptx
Présentation_HADOOP.pptxbely26
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataArrow Group
 
Spad big data - sfds - 2016
Spad   big data - sfds - 2016Spad   big data - sfds - 2016
Spad big data - sfds - 2016Julien BLAIZE
 
Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Alexis Seigneurin
 

Semelhante a Cours Big Data Chap4 - Spark (20)

Spark
SparkSpark
Spark
 
spark_intro_1208
spark_intro_1208spark_intro_1208
spark_intro_1208
 
Spark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsSpark RDD : Transformations & Actions
Spark RDD : Transformations & Actions
 
Distributed computing with Spark 2.x
Distributed computing with Spark 2.xDistributed computing with Spark 2.x
Distributed computing with Spark 2.x
 
Spark - An In-Memory Distributed Computing Engine.pptx
Spark - An In-Memory Distributed Computing Engine.pptxSpark - An In-Memory Distributed Computing Engine.pptx
Spark - An In-Memory Distributed Computing Engine.pptx
 
160813-technology-template-16x9.pptx
160813-technology-template-16x9.pptx160813-technology-template-16x9.pptx
160813-technology-template-16x9.pptx
 
Introduction spark
Introduction sparkIntroduction spark
Introduction spark
 
Presentation des outils traitements distribues
Presentation des outils traitements distribuesPresentation des outils traitements distribues
Presentation des outils traitements distribues
 
Architecture Big Data open source S.M.A.C.K
Architecture Big Data open source S.M.A.C.KArchitecture Big Data open source S.M.A.C.K
Architecture Big Data open source S.M.A.C.K
 
Hadoop Introduction in Paris
Hadoop Introduction in ParisHadoop Introduction in Paris
Hadoop Introduction in Paris
 
P8 03 presentation
P8 03 presentationP8 03 presentation
P8 03 presentation
 
Apache solr andré bois-crettez 08
Apache solr   andré bois-crettez 08Apache solr   andré bois-crettez 08
Apache solr andré bois-crettez 08
 
Introduction Apche Spark
Introduction Apche SparkIntroduction Apche Spark
Introduction Apche Spark
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introduction
 
Elastic serach
Elastic serachElastic serach
Elastic serach
 
Présentation_HADOOP.pptx
Présentation_HADOOP.pptxPrésentation_HADOOP.pptx
Présentation_HADOOP.pptx
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big Data
 
Tech day hadoop, Spark
Tech day hadoop, SparkTech day hadoop, Spark
Tech day hadoop, Spark
 
Spad big data - sfds - 2016
Spad   big data - sfds - 2016Spad   big data - sfds - 2016
Spad big data - sfds - 2016
 
Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)
 

Último

Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformersbahija babzine
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023France Travail
 
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...France Travail
 
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attalcontact Elabe
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentationbahija babzine
 
analyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxanalyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxHadJer61
 

Último (6)

Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformers
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023
 
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
 
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentation
 
analyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxanalyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptx
 

Cours Big Data Chap4 - Spark

  • 1. Amal ABID – Cours GI3 ENIS 1 Chapitre 4 Spark
  • 2. • Framework de conception et d'exécution Map/Reduce. • Originellement (2014) un projet de l'université de Berkeley en Californie, désormais un logiciel libre de la fondation Apache. • Licence Apache. • Trois modes d'exécution:  Cluster Spark natif.  Hadoop (YARN).  Mesos (Spark natif + scheduler Mesos). • C’est un moteur MapReduce plus évolué, plus rapide pour les tâches impliquant de multiples maps et/ou reduce.  Utilisation de la mémoire pour optimiser les traitements.  Des API’s pour faciliter et optimiser les étapes d’analyses. Spark : Présentation 2
  • 3. Spark : Plus rapide Amal ABID – Cours GI3 ENIS 3
  • 4. • Spark est développé en Scala et supporte quatre langages: Scala, Java, Python (PySpark), R (SparkR). • Une liste d’Operaters pour faciliter la manipulation des données au travers des RDD’S.  Map, filter, groupBy, sort, join, leftOuterJoin, rightOuterJoin, reduce, count, reduceByKey, groupByKey, first, union, cross, sample, cogroup, take, partionBy, pipe, save,… Spark : Facile à utiliser (1/2) 4
  • 5. 5Amal ABID – Cours GI3 ENIS Spark : Facile à utiliser (2/2)
  • 6. Spark : Architecture 6Amal ABID – Cours GI3 ENIS • Spark est capable de déterminer quand il aura besoin de sérialiser les données / les réorganiser; et ne le fait que quand c'est nécessaire. • On peut également explicitement lui demander de conserver des données en RAM, parce qu'on sait qu'elles seront nécessaires entre plusieurs instances d'écriture disque.
  • 7. • Au centre du paradigme employé par Spark, on trouve la notion de RDD, pour Resilient Distributed Datasets. • Il s'agit de larges hashmaps stockées en mémoire et sur lesquelles on peut appliquer des traitements. • Ils sont:  Distribués.  Partitionnés (pour permettre à plusieurs noeuds de traiter les données).  Redondés (limite le risque de perte de données).  En lecture seule: un traitement appliqué à un RDD donne lieu à la création d'un nouveau RDD. • Deux types d'opérations possibles sur les RDDs:  Une transformation: une opération qui modifie les données d'un RDD. Elle donne lieu à la création d'un nouveau RDD. Les transformations fonctionnent en mode d'évaluation lazy: elles ne sont exécutées que quand on a véritablement besoin d'accéder aux données. "map" est un exemple de transformation.  Une action: elles accèdent aux données d'un RDD, et nécessitent donc son évaluation (toutes les transformations ayant donné lieu à la création de ce RDD sont exécutées l'une aprés l'autre). "saveAsTextFile" (qui permet de sauver le contenu d'un RDD) ou "count" (qui renvoie le nombre d'éléments dans un RDD) sont des exemples d'actions. Spark : Architecture - RDD
  • 8. • Les applications Spark s’exécutent comme un ensemble de processus indépendants sur un cluster, coordonnés par un objet SparkContext du programme principal, appelé Driver Program. • Pour s’exécuter sur un cluster, le SparkContext se connecte à un Cluster Manager, qui peut être soit un gestionnaire standalone de Spark, soit YARN ou Mesos, pour l’allocation de ressources aux applictions. • Une fois connecté, Spark lance des executors sur les nœuds du cluster, des processus qui lancent des traitements et stockent les données pour les applications. • Il envoie ensuite le code de l’application (Jar ou ficher python) aux executors. SparkContext envoie ensuite les Tasks aux executors pour qu’ils les lancent. Spark : Architecture - Exécution
  • 9. Spark : Un framework analytique Amal ABID – Cours GI3 ENIS 9
  • 10. Spark : Avantages 10 Amal ABID – Cours GI3 ENIS • Performances supérieures à celles de Hadoop pour une large quantité de problèmes; et presque universellement au moins équivalentes pour le reste. • API simple et bien documentée; très simple à utiliser. Paradigme plus souple qui permet un développement conceptuellement plus simple. • Très intégrable avec d'autres solutions; peut très facilement lire des données depuis de nombreuses sources, et propose des couches d'interconnexion très faciles à utiliser pour le reste (API dédiée Spark Streaming, Spark SQL). • APIs dédiées pour le traitement de problèmes en machine learning (Spark MLlib) et graphes (Spark GraphX).
  • 11. Spark : Performances 11 Amal ABID – Cours GI3 ENIS • Fortement dépendantes du problème mais d'une manière générale supérieures à Hadoop. Dans le cas de problèmes complexes, effectuant de nombreuses opérations sur les données et notamment sur les mêmes données antérieures, fortement supérieures (jusqu'à 100x plus rapide). • Même sans travailler plusieurs fois sur les mêmes données ou sans persistance explicite particulière, le paradigme de programme parallélisé en graphe acyclique couplé aux RDDs et leurs propriétés permet des améliorations notables (~10x) pour de nombreux problèmes dépassant le cadre rigide du simple map/shuffle/reduce lancé une fois.
  • 12. Spark : Inconvénients 12 Amal ABID – Cours GI3 ENIS • Spark consomme beaucoup plus de mémoire vive que Hadoop, puisqu'il est susceptible de garder une multitude de RDDs en mémoire. Les serveurs nécessitent ainsi plus de RAM. • Il est moins mature que Hadoop. • Son cluster manager (« Spark Master ») est encore assez immature et laisse à désirer en terme de déploiement / haute disponibilité / fonctionnalités additionnelles du même type; dans les faits, il est souvent déployé via Yarn, et souvent sur un cluster Hadoop existant.
  • 13. Spark : Usage /Manipulation (1/5) 13 Amal ABID – Cours GI3 ENIS
  • 14. 14 Amal ABID – Cours GI3 ENIS Spark : Usage /Manipulation (2/5)
  • 15. 15 Amal ABID – Cours GI3 ENIS Spark : Usage /Manipulation (3/5)
  • 16. 16 Amal ABID – Cours GI3 ENIS Spark : Usage /Manipulation (4/5)
  • 17. 17 Amal ABID – Cours GI3 ENIS La manipulation de l’exemple "Word Count" est fournie en "TP Spark" sous la VM Cloudera où Spark est installé et prêt à l’utilisation. Spark : Usage /Manipulation (5/5)