SlideShare une entreprise Scribd logo
1  sur  27
Big Data
Mouna TORJMEN KHEMAKHEM
Ecole Nationale d’Ingénieurs de Sfax (ENIS)
2017-2018
Chapitre 3
Spark
2222
Mouna TORJMEN KHEMAKHEM
Plan du chapitre
Présentation et Historique
Spark Vs. Hadoop
Ecosysteme Spark
Les RDD
Fonctionnement de Spark
3333
Mouna TORJMEN KHEMAKHEM
Traitement de larges volumes de données
Traitement distribué
Ecrit en Scala, bindings Java et Python
Historique
2009: Développé à l'université de Californie à Berkeley par
Spark-Présentation
AMPLab.
But: accélérer le traitement des systèmes Hadoop.
Juin 2013: Spark est transmis à la fondation Apache et
devient l'un des projets les plus actif « Top Level project »
Mai 2014: version 1.0.0
Mai 2017 :version 2.1.1. , la dernière version disponible
4
4444
Mouna TORJMEN KHEMAKHEM
Spark Vs. Hadoop
Proximité avec Hadoop
Même cas d’utilisation
Même modèle de développement: MapReduce
Intégration dans l’Ecosystème
Plus simple qu’HadoopPlus simple qu’Hadoop
API plus simple à prendre en main
Modèle MapReduce relâché
Spark Shell: traitement interactif
5555
Mouna TORJMEN KHEMAKHEM
Plus rapide qu’Hadoop
5 Novembre 2014: Spark a gagné le Daytona GraySort
Contest.
Objectif: trier 100 To de données le plus rapidement
possible.
Spark Vs. Hadoop
possible.
Hadoop MapReduce Spark
72 minutes 23 minutes
2100 nœuds (50400 cores) 206 nœuds (6592 cores)
La puissance de Spark fut démontrée en étant 3 fois plus rapide et
en utilisant approximativement 10 fois moins de machines.
6666
Mouna TORJMEN KHEMAKHEM
Modèle d’exécution
Pour chaque opération Map/Reduce:
4 mouvements sur le disque (2 lectures + 2 écritures)
MAP
Hadoop
Spark Vs. Hadoop
REDUCE
Problème de performance:
-soit les données sont très grandes
-soit besoin de faire des opérations itératives
7777
Mouna TORJMEN KHEMAKHEM
Modèle d’exécution
Spark Vs. Hadoop
8888
Mouna TORJMEN KHEMAKHEM
Modèle de programmation
Hadoop propose seulement 2 opérations: Map et Reduce
Spark propose un modèle plus souple: map/reduce/filter/join…
Spark Vs. Hadoop
9999
Mouna TORJMEN KHEMAKHEM
Ecosystème SPARK
10101010
Mouna TORJMEN KHEMAKHEM
Ecosystème SPARK
Stockage
11111111
Mouna TORJMEN KHEMAKHEM
RDD: Resilient Distributed Dataset
Abstraction, collection traitée en parallèle
Tolérant à la panne
Manipulation de tuples
Clé/valeur
Caractéristiques de SPARK
Clé/valeur
Tuples indépendants les uns des autres
12121212
Mouna TORJMEN KHEMAKHEM
RDD: Resilient Distributed Dataset:
Dataset : un ensemble de données (une collection).
Distributed : cet ensemble est distribué afin d’être découpée pour être
traitée dans les différents nœuds.
Resilient : Il est résilient, car il pourra être relu en cas de problème.
Les RDDs
Resilient : Il est résilient, car il pourra être relu en cas de problème.
13131313
Mouna TORJMEN KHEMAKHEM
RDD :simple à créer et peut être obtenu à partir de
multiples sources :
Une collection (List, Set), transformée en RDD
Un fichier local ou distribué (HDFS) dont le format est
configurable: texte, SequenceFile Hadoop, JSON…
Les RDDs
configurable: texte, SequenceFile Hadoop, JSON…
Une base de données: JDBC, HBase…
Un autre RDD auquel est appliqué une transformation (un
filtre, un mapping…).
C’est possible d’exporter le contenu d’un RDD dans un
fichier, dans une base de données ou dans une collection.
14141414
Mouna TORJMEN KHEMAKHEM
Les RDD possèdent deux types de méthodes :
Les transformations qui donnent en sortie un autre RDD.
Les actions qui donnent en sortie... autre chose qu'un RDD.
Les RDDs
15151515
Mouna TORJMEN KHEMAKHEM
Exemple de transformations [la librairie standard de
Spark] :
map(func): applique une fonction à chacune des données.
filter(func): permet d'éliminer certaines données.
distinct(): supprime les doublons.
Les RDDs
distinct(): supprime les doublons.
groupByKey(): transforme des clés-valeurs (K, V) en (K, W)
où W est un object itérable. (K, U) et (K, V) seront
transformées en (K, [U, V]).
16161616
Mouna TORJMEN KHEMAKHEM
Exemple d’actions [la librairie standard de Spark] :
reduce(func): applique une réduction à l'ensemble des
données.
collect(): retourne toutes les données contenues dans le RDD
sous la forme de liste.
Les RDDs
count(): retourne le nombre de données contenues dans RDD
takeOrdered(n, key_func): retourne lesnpremiers éléments du
RDD ordonnés selonkey_func.
17171717
Mouna TORJMEN KHEMAKHEM
DAG « Directed Acyclic Graph » (graphe acyclique
orienté) :
les nœuds sont les RDD et les résultats.
les relations entre les nœuds sont soit des transformations,
soit des actions.
Les RDDs
Ces relations sont orientées : passage d'un RDD à un autre
se fait dans un seul sens.
Le graphe est dit acyclique car aucun RDD ne permet de se
transformer en lui-même via une série d'actions.
18181818
Mouna TORJMEN KHEMAKHEM
Tolérance aux pannes:
Si un nœud du DAG devient indisponible, il peut être
régénéré à partir de ses nœuds parents.
Les RDDs
19191919
Mouna TORJMEN KHEMAKHEM
Fonctionnement de Spark
Un cluster Spark est composé de :
un ou plusieurs workers : chaque worker instancie
un executor chargé d'exécuter les différentes tâches de
calcul.
un driver : chargé de répartir les tâches sur lesun driver : chargé de répartir les tâches sur les
différents executors.
un cluster manager : chargé d'instancier les
différents workers.
20202020
Mouna TORJMEN KHEMAKHEM
Fonctionnement de Spark
21212121
Mouna TORJMEN KHEMAKHEM
Différence entre worker et executer:
un worker : une machine physique
un executor :une application qui tourne sur cette machine
Exécution de plusieurs applications Spark sur une même
machine en même temps
Fonctionnement de Spark
machine en même temps
Chaque worker a alors plusieurs executors
un executor comme un thread de calcul.
22222222
Mouna TORJMEN KHEMAKHEM
Le cluster manager :
responsable de l'allocation des ressources, surtout dans
le cas ou plusieurs applications concurrentes sont
exécutées sur le cluster Spark.
Fonctionnement de Spark
23232323
Mouna TORJMEN KHEMAKHEM
• Répartition des données et distributions des taches
Les données sont découpées en partitions.
Chaque partition est traitée par un des executors.
Le traitement d'une partition représente une tâche.
Un cluster Spark ne peut traiter qu'une tâche à la fois par executor.
Fonctionnement de Spark
24242424
Mouna TORJMEN KHEMAKHEM
Répartition des données et distributions des taches
La taille d'une partition doit rester inférieure à la mémoire
disponible pour son executor.
Le nombre de partitions détermine le nombre de tâches à
réaliser de manière concurrente sur le cluster.
Fonctionnement de Spark
Un ensemble de tâches réalisées en parallèle constitue
une étape
Toutes les tâches d'une étape doivent être terminées avant de
passer à l'étape suivante.
Un job Spark est composé d'une suite d'étapes
la progression d'un job peut être mesurée grâce au nombre
d'étapes réalisées.
25252525
Mouna TORJMEN KHEMAKHEM
Fonctionnement de Spark
26262626
Mouna TORJMEN KHEMAKHEM
Fonctionnement de Spark
27272727
Mouna TORJMEN KHEMAKHEM

Contenu connexe

Tendances

BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : CassandraLilia Sfaxi
 
Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)Alexis Seigneurin
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingLilia Sfaxi
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQLLilia Sfaxi
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherLilia 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
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduceAmal Abid
 
Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleLilia Sfaxi
 
Alphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide CompletAlphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide CompletAlphorm
 
Chapitre1 introduction
Chapitre1 introductionChapitre1 introduction
Chapitre1 introductionMouna Torjmen
 
Spark, ou comment traiter des données à la vitesse de l'éclair
Spark, ou comment traiter des données à la vitesse de l'éclairSpark, ou comment traiter des données à la vitesse de l'éclair
Spark, ou comment traiter des données à la vitesse de l'éclairAlexis Seigneurin
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5Amal Abid
 
Spark SQL principes et fonctions
Spark SQL principes et fonctionsSpark SQL principes et fonctions
Spark SQL principes et fonctionsMICHRAFY MUSTAFA
 
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision Yassine Badri
 

Tendances (20)

Chapitre 2 hadoop
Chapitre 2 hadoopChapitre 2 hadoop
Chapitre 2 hadoop
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
 
Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)
 
Technologies pour le Big Data
Technologies pour le Big DataTechnologies pour le Big Data
Technologies pour le Big Data
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data Processing
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
 
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
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
 
Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique Décisionnelle
 
Alphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide CompletAlphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide Complet
 
Chapitre1 introduction
Chapitre1 introductionChapitre1 introduction
Chapitre1 introduction
 
Spark, ou comment traiter des données à la vitesse de l'éclair
Spark, ou comment traiter des données à la vitesse de l'éclairSpark, ou comment traiter des données à la vitesse de l'éclair
Spark, ou comment traiter des données à la vitesse de l'éclair
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
 
Spark SQL principes et fonctions
Spark SQL principes et fonctionsSpark SQL principes et fonctions
Spark SQL principes et fonctions
 
spark_intro_1208
spark_intro_1208spark_intro_1208
spark_intro_1208
 
Hadoop
HadoopHadoop
Hadoop
 
Hive ppt (1)
Hive ppt (1)Hive ppt (1)
Hive ppt (1)
 
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision
 

Similaire à Chapitre 3 spark

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
 
Spark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsSpark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsMICHRAFY MUSTAFA
 
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
 
Hadoop Introduction in Paris
Hadoop Introduction in ParisHadoop Introduction in Paris
Hadoop Introduction in ParisTed Drake
 
Spark docker
Spark dockerSpark docker
Spark dockerLê Anh
 
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
 
160813-technology-template-16x9.pptx
160813-technology-template-16x9.pptx160813-technology-template-16x9.pptx
160813-technology-template-16x9.pptxmajdoulineaitabdelal
 
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamielParis Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamielModern Data Stack France
 
Presentation intis 2017 version27112017
Presentation intis 2017 version27112017Presentation intis 2017 version27112017
Presentation intis 2017 version27112017Dr Hajji Hicham
 
10 big data hadoop
10 big data hadoop10 big data hadoop
10 big data hadoopPatrick Bury
 
10 big data hadoop
10 big data hadoop10 big data hadoop
10 big data hadoopPatrick Bury
 
Realtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et MesosRealtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et Mesosebiznext
 
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) univalence
 
Spark Streaming
Spark StreamingSpark Streaming
Spark StreamingPALO IT
 

Similaire à Chapitre 3 spark (20)

Spark
SparkSpark
Spark
 
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
 
Spark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsSpark RDD : Transformations & Actions
Spark RDD : Transformations & Actions
 
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
 
Spark - Ippevent 19-02-2015
Spark - Ippevent 19-02-2015Spark - Ippevent 19-02-2015
Spark - Ippevent 19-02-2015
 
Hadoop Introduction in Paris
Hadoop Introduction in ParisHadoop Introduction in Paris
Hadoop Introduction in Paris
 
Spark docker
Spark dockerSpark docker
Spark docker
 
Introduction Apche Spark
Introduction Apche SparkIntroduction Apche Spark
Introduction Apche Spark
 
Distributed computing with Spark 2.x
Distributed computing with Spark 2.xDistributed computing with Spark 2.x
Distributed computing with Spark 2.x
 
160813-technology-template-16x9.pptx
160813-technology-template-16x9.pptx160813-technology-template-16x9.pptx
160813-technology-template-16x9.pptx
 
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamielParis Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
 
Mapreduce
MapreduceMapreduce
Mapreduce
 
Presentation intis 2017 version27112017
Presentation intis 2017 version27112017Presentation intis 2017 version27112017
Presentation intis 2017 version27112017
 
10 big data hadoop
10 big data hadoop10 big data hadoop
10 big data hadoop
 
10 big data hadoop
10 big data hadoop10 big data hadoop
10 big data hadoop
 
Realtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et MesosRealtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et Mesos
 
Chapitre 4 no sql
Chapitre 4 no sqlChapitre 4 no sql
Chapitre 4 no sql
 
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
 
Spark Streaming
Spark StreamingSpark Streaming
Spark Streaming
 

Plus de Mouna Torjmen

POO Java Introduction
POO Java IntroductionPOO Java Introduction
POO Java IntroductionMouna Torjmen
 
POO Java Chapitre 6 Exceptions
POO Java  Chapitre 6 ExceptionsPOO Java  Chapitre 6 Exceptions
POO Java Chapitre 6 ExceptionsMouna Torjmen
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismeMouna Torjmen
 
POO Java Chapitre 3 Collections
POO Java Chapitre 3 CollectionsPOO Java Chapitre 3 Collections
POO Java Chapitre 3 CollectionsMouna Torjmen
 
POO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 EncapsulationPOO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 EncapsulationMouna Torjmen
 
POO Java Chapitre 1 Classe & Objet
POO Java Chapitre 1 Classe & ObjetPOO Java Chapitre 1 Classe & Objet
POO Java Chapitre 1 Classe & ObjetMouna Torjmen
 
Apprentissage Par Projet APP
Apprentissage Par Projet APPApprentissage Par Projet APP
Apprentissage Par Projet APPMouna Torjmen
 

Plus de Mouna Torjmen (8)

POO Java Introduction
POO Java IntroductionPOO Java Introduction
POO Java Introduction
 
POO Java Chapitre 6 Exceptions
POO Java  Chapitre 6 ExceptionsPOO Java  Chapitre 6 Exceptions
POO Java Chapitre 6 Exceptions
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
 
POO Java Chapitre 3 Collections
POO Java Chapitre 3 CollectionsPOO Java Chapitre 3 Collections
POO Java Chapitre 3 Collections
 
POO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 EncapsulationPOO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 Encapsulation
 
POO Java Chapitre 1 Classe & Objet
POO Java Chapitre 1 Classe & ObjetPOO Java Chapitre 1 Classe & Objet
POO Java Chapitre 1 Classe & Objet
 
TIC & E-Learning
TIC & E-LearningTIC & E-Learning
TIC & E-Learning
 
Apprentissage Par Projet APP
Apprentissage Par Projet APPApprentissage Par Projet APP
Apprentissage Par Projet APP
 

Dernier

BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueBOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueidelewebmestre
 
Cadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en FranceCadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en Franceidelewebmestre
 
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la NièvreAccompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la Nièvreidelewebmestre
 
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VLBOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VLidelewebmestre
 
BOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsBOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsidelewebmestre
 
Cours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pagesCours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pagesPierreFournier32
 
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...idelewebmestre
 
BOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresBOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresidelewebmestre
 
anas transcript 111111111111111111111111
anas transcript 111111111111111111111111anas transcript 111111111111111111111111
anas transcript 111111111111111111111111zaidtaim1214
 
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...idelewebmestre
 
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsBow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsidelewebmestre
 
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...idelewebmestre
 
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitièresBOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitièresidelewebmestre
 
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleurBOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleuridelewebmestre
 
Agrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en DordogneAgrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en Dordogneidelewebmestre
 
BOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairBOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairidelewebmestre
 
BOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcinBOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcinidelewebmestre
 
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsBOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsidelewebmestre
 
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasBOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasidelewebmestre
 

Dernier (20)

BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueBOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
 
Cadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en FranceCadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en France
 
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la NièvreAccompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
 
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VLBOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
 
BOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsBOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminants
 
Cours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pagesCours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pages
 
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
 
BOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresBOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitières
 
anas transcript 111111111111111111111111
anas transcript 111111111111111111111111anas transcript 111111111111111111111111
anas transcript 111111111111111111111111
 
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
 
Webinaire lésions podales_04.04.2024.pptx
Webinaire lésions podales_04.04.2024.pptxWebinaire lésions podales_04.04.2024.pptx
Webinaire lésions podales_04.04.2024.pptx
 
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsBow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
 
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...
 
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitièresBOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
 
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleurBOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
 
Agrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en DordogneAgrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en Dordogne
 
BOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairBOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chair
 
BOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcinBOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcin
 
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsBOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
 
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasBOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
 

Chapitre 3 spark

  • 1. Big Data Mouna TORJMEN KHEMAKHEM Ecole Nationale d’Ingénieurs de Sfax (ENIS) 2017-2018
  • 3. Plan du chapitre Présentation et Historique Spark Vs. Hadoop Ecosysteme Spark Les RDD Fonctionnement de Spark 3333 Mouna TORJMEN KHEMAKHEM
  • 4. Traitement de larges volumes de données Traitement distribué Ecrit en Scala, bindings Java et Python Historique 2009: Développé à l'université de Californie à Berkeley par Spark-Présentation AMPLab. But: accélérer le traitement des systèmes Hadoop. Juin 2013: Spark est transmis à la fondation Apache et devient l'un des projets les plus actif « Top Level project » Mai 2014: version 1.0.0 Mai 2017 :version 2.1.1. , la dernière version disponible 4 4444 Mouna TORJMEN KHEMAKHEM
  • 5. Spark Vs. Hadoop Proximité avec Hadoop Même cas d’utilisation Même modèle de développement: MapReduce Intégration dans l’Ecosystème Plus simple qu’HadoopPlus simple qu’Hadoop API plus simple à prendre en main Modèle MapReduce relâché Spark Shell: traitement interactif 5555 Mouna TORJMEN KHEMAKHEM
  • 6. Plus rapide qu’Hadoop 5 Novembre 2014: Spark a gagné le Daytona GraySort Contest. Objectif: trier 100 To de données le plus rapidement possible. Spark Vs. Hadoop possible. Hadoop MapReduce Spark 72 minutes 23 minutes 2100 nœuds (50400 cores) 206 nœuds (6592 cores) La puissance de Spark fut démontrée en étant 3 fois plus rapide et en utilisant approximativement 10 fois moins de machines. 6666 Mouna TORJMEN KHEMAKHEM
  • 7. Modèle d’exécution Pour chaque opération Map/Reduce: 4 mouvements sur le disque (2 lectures + 2 écritures) MAP Hadoop Spark Vs. Hadoop REDUCE Problème de performance: -soit les données sont très grandes -soit besoin de faire des opérations itératives 7777 Mouna TORJMEN KHEMAKHEM
  • 8. Modèle d’exécution Spark Vs. Hadoop 8888 Mouna TORJMEN KHEMAKHEM
  • 9. Modèle de programmation Hadoop propose seulement 2 opérations: Map et Reduce Spark propose un modèle plus souple: map/reduce/filter/join… Spark Vs. Hadoop 9999 Mouna TORJMEN KHEMAKHEM
  • 12. RDD: Resilient Distributed Dataset Abstraction, collection traitée en parallèle Tolérant à la panne Manipulation de tuples Clé/valeur Caractéristiques de SPARK Clé/valeur Tuples indépendants les uns des autres 12121212 Mouna TORJMEN KHEMAKHEM
  • 13. RDD: Resilient Distributed Dataset: Dataset : un ensemble de données (une collection). Distributed : cet ensemble est distribué afin d’être découpée pour être traitée dans les différents nœuds. Resilient : Il est résilient, car il pourra être relu en cas de problème. Les RDDs Resilient : Il est résilient, car il pourra être relu en cas de problème. 13131313 Mouna TORJMEN KHEMAKHEM
  • 14. RDD :simple à créer et peut être obtenu à partir de multiples sources : Une collection (List, Set), transformée en RDD Un fichier local ou distribué (HDFS) dont le format est configurable: texte, SequenceFile Hadoop, JSON… Les RDDs configurable: texte, SequenceFile Hadoop, JSON… Une base de données: JDBC, HBase… Un autre RDD auquel est appliqué une transformation (un filtre, un mapping…). C’est possible d’exporter le contenu d’un RDD dans un fichier, dans une base de données ou dans une collection. 14141414 Mouna TORJMEN KHEMAKHEM
  • 15. Les RDD possèdent deux types de méthodes : Les transformations qui donnent en sortie un autre RDD. Les actions qui donnent en sortie... autre chose qu'un RDD. Les RDDs 15151515 Mouna TORJMEN KHEMAKHEM
  • 16. Exemple de transformations [la librairie standard de Spark] : map(func): applique une fonction à chacune des données. filter(func): permet d'éliminer certaines données. distinct(): supprime les doublons. Les RDDs distinct(): supprime les doublons. groupByKey(): transforme des clés-valeurs (K, V) en (K, W) où W est un object itérable. (K, U) et (K, V) seront transformées en (K, [U, V]). 16161616 Mouna TORJMEN KHEMAKHEM
  • 17. Exemple d’actions [la librairie standard de Spark] : reduce(func): applique une réduction à l'ensemble des données. collect(): retourne toutes les données contenues dans le RDD sous la forme de liste. Les RDDs count(): retourne le nombre de données contenues dans RDD takeOrdered(n, key_func): retourne lesnpremiers éléments du RDD ordonnés selonkey_func. 17171717 Mouna TORJMEN KHEMAKHEM
  • 18. DAG « Directed Acyclic Graph » (graphe acyclique orienté) : les nœuds sont les RDD et les résultats. les relations entre les nœuds sont soit des transformations, soit des actions. Les RDDs Ces relations sont orientées : passage d'un RDD à un autre se fait dans un seul sens. Le graphe est dit acyclique car aucun RDD ne permet de se transformer en lui-même via une série d'actions. 18181818 Mouna TORJMEN KHEMAKHEM
  • 19. Tolérance aux pannes: Si un nœud du DAG devient indisponible, il peut être régénéré à partir de ses nœuds parents. Les RDDs 19191919 Mouna TORJMEN KHEMAKHEM
  • 20. Fonctionnement de Spark Un cluster Spark est composé de : un ou plusieurs workers : chaque worker instancie un executor chargé d'exécuter les différentes tâches de calcul. un driver : chargé de répartir les tâches sur lesun driver : chargé de répartir les tâches sur les différents executors. un cluster manager : chargé d'instancier les différents workers. 20202020 Mouna TORJMEN KHEMAKHEM
  • 22. Différence entre worker et executer: un worker : une machine physique un executor :une application qui tourne sur cette machine Exécution de plusieurs applications Spark sur une même machine en même temps Fonctionnement de Spark machine en même temps Chaque worker a alors plusieurs executors un executor comme un thread de calcul. 22222222 Mouna TORJMEN KHEMAKHEM
  • 23. Le cluster manager : responsable de l'allocation des ressources, surtout dans le cas ou plusieurs applications concurrentes sont exécutées sur le cluster Spark. Fonctionnement de Spark 23232323 Mouna TORJMEN KHEMAKHEM
  • 24. • Répartition des données et distributions des taches Les données sont découpées en partitions. Chaque partition est traitée par un des executors. Le traitement d'une partition représente une tâche. Un cluster Spark ne peut traiter qu'une tâche à la fois par executor. Fonctionnement de Spark 24242424 Mouna TORJMEN KHEMAKHEM
  • 25. Répartition des données et distributions des taches La taille d'une partition doit rester inférieure à la mémoire disponible pour son executor. Le nombre de partitions détermine le nombre de tâches à réaliser de manière concurrente sur le cluster. Fonctionnement de Spark Un ensemble de tâches réalisées en parallèle constitue une étape Toutes les tâches d'une étape doivent être terminées avant de passer à l'étape suivante. Un job Spark est composé d'une suite d'étapes la progression d'un job peut être mesurée grâce au nombre d'étapes réalisées. 25252525 Mouna TORJMEN KHEMAKHEM