SlideShare une entreprise Scribd logo
Apache Spark: notions importantes
• RDD (Resilient Distributed Datasets): une table dans une base de données
– réarranger les calculs et d’optimiser le traitement (c-a-d: données sont divisés en partitions et peuvent être
stockés dans la mémoire sur les nœuds workers du cluster spark)
– tolérants aux pannes (c-a-d: un RDD sait comment recréer et recalculer son ensemble de données)
– Les RDD sont immutables (c-a-d: Pour obtenir une modification d’un RDD, il faut y appliquer une transformation, qui
retournera un nouveau RDD, l’original restera inchangé)
• DAG (Directed Acyclic Graph)
– Direct - La transformation est une action qui fait passer l'état de la partition de A à B.
– Acyclic -Transformation ne peut pas retourner à l'ancienne partition
– C’est une séquence de calculs effectuée sur des données où chaque nœud est une partition
RDD et un front est une transformation au-dessus des données.
• Les transformations
– prend juste un RDD et retourne un nouveau RDD
– par exemple map, filter, flatMap, groupByKey, reduceByKey, aggregateByKey, pipe (ex:
dataRDD.pipe("/home/hadoop/echo.sh")) et coalesce (= repartition())
• Les actions
– les actions évaluent et retournent une nouvelle valeur
– par exemple reduce, collect, count, first, take, countByKey et foreach
Page 1
Spark en Python
Page 2 – CVSP 12 sept 2017 - CAAPIC
Comment ça marche
1. Le code soumis contenant des transformations RDDs forme un
graphe acyclique direct (DAG) qui est ensuite divisé en étapes de
tâches par DAGScheduler.
2. Une étape est composée de tâches basées sur des partitions des
données d'entrée.
3. Les tâches sont planifiées par TaskScheduler afin de maximiser leur
traitement parallèle et optimisé.
4. Cluster Manager (en Standalone dans notre cas) envoient les tâches
planifiés aux workers pour les exécuter.
Page 3
Implémentation
• Composants
– Un master – Spark Driver
– Trois workers
– Un client to soumettre l’application en Python
• Bibliothèques
– Python 3.6
– Docker 17.03.1
– Pyspark 2.2.0
– Pybuilder 0.9
– Spark 2.2.0
– Java 8
• Déploiement
– Gestion de cluster en mode Standalone
– Docker composer
– Gitlab: https://gitlab.assurances.group.gca/AAD/demo-spark
Page 4
Démo
Page 5

Contenu connexe

PPTX
spark_intro_1208
PDF
Distributed computing with Spark 2.x
PDF
Presentation intis 2017 version27112017
PDF
Chapitre 3 spark
PDF
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
PDF
BigData_TP3 : Spark
PDF
PDF
Techday Arrow Group: Hadoop & le Big Data
spark_intro_1208
Distributed computing with Spark 2.x
Presentation intis 2017 version27112017
Chapitre 3 spark
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
BigData_TP3 : Spark
Techday Arrow Group: Hadoop & le Big Data

Similaire à Spark docker (20)

PDF
Tech day hadoop, Spark
PDF
Cours Big Data Chap4 - Spark
PDF
Hadoop Introduction in Paris
PDF
Spark RDD : Transformations & Actions
PDF
Spark (v1.3) - Présentation (Français)
PDF
Spark - Ippevent 19-02-2015
DOCX
Résumkbjnnbuhb.jhyhuhuhhhhhhhhhhhhhhhhhhhhhhhé.docx
PPTX
Presentation des outils traitements distribues
PDF
chap 2 - cours -99999897765579 Spark.pdf
PDF
Mapreduce
PPTX
Spark - An In-Memory Distributed Computing Engine.pptx
PDF
Introduction Apche Spark
PDF
ch2-hadoop-L3-2023-4p (1).pdf
PDF
Architecture Big Data open source S.M.A.C.K
PDF
Spark - au dela du dataframe avec Tungsten et Catalyst
PPTX
PerfUG - Hadoop Performances
PDF
Java 8 - collections et stream
PDF
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
PDF
Spark SQL principes et fonctions
PDF
MariaDB une base de donnees NewSQL
Tech day hadoop, Spark
Cours Big Data Chap4 - Spark
Hadoop Introduction in Paris
Spark RDD : Transformations & Actions
Spark (v1.3) - Présentation (Français)
Spark - Ippevent 19-02-2015
Résumkbjnnbuhb.jhyhuhuhhhhhhhhhhhhhhhhhhhhhhhé.docx
Presentation des outils traitements distribues
chap 2 - cours -99999897765579 Spark.pdf
Mapreduce
Spark - An In-Memory Distributed Computing Engine.pptx
Introduction Apche Spark
ch2-hadoop-L3-2023-4p (1).pdf
Architecture Big Data open source S.M.A.C.K
Spark - au dela du dataframe avec Tungsten et Catalyst
PerfUG - Hadoop Performances
Java 8 - collections et stream
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark SQL principes et fonctions
MariaDB une base de donnees NewSQL
Publicité

Plus de Lê Anh (18)

PDF
Automatic vs. human question answering over multimedia meeting recordings
PPT
Lap trinh java hieu qua
PDF
Cahier de charges
PDF
Final report. nguyen ngoc anh.01.07.2013
PDF
Lequocanh
PPTX
These lequocanh v7
PDF
Applying Computer Vision to Traffic Monitoring System in Vietnam
PPTX
Poster WACAI 2012
PPT
ICMI 2012 Workshop on gesture and speech production
PDF
Lecture Notes in Computer Science (LNCS)
PDF
IEEE Humanoids 2011
PDF
ACII 2011, USA
PDF
ACM ICMI Workshop 2012
PDF
Mid-term thesis report
PPT
Affective Computing and Intelligent Interaction (ACII 2011)
PDF
Nao Tech Day
PDF
Journée Inter-GDR ISIS et Robotique: Interaction Homme-Robot
PPT
Người Ảo
Automatic vs. human question answering over multimedia meeting recordings
Lap trinh java hieu qua
Cahier de charges
Final report. nguyen ngoc anh.01.07.2013
Lequocanh
These lequocanh v7
Applying Computer Vision to Traffic Monitoring System in Vietnam
Poster WACAI 2012
ICMI 2012 Workshop on gesture and speech production
Lecture Notes in Computer Science (LNCS)
IEEE Humanoids 2011
ACII 2011, USA
ACM ICMI Workshop 2012
Mid-term thesis report
Affective Computing and Intelligent Interaction (ACII 2011)
Nao Tech Day
Journée Inter-GDR ISIS et Robotique: Interaction Homme-Robot
Người Ảo
Publicité

Spark docker

  • 1. Apache Spark: notions importantes • RDD (Resilient Distributed Datasets): une table dans une base de données – réarranger les calculs et d’optimiser le traitement (c-a-d: données sont divisés en partitions et peuvent être stockés dans la mémoire sur les nœuds workers du cluster spark) – tolérants aux pannes (c-a-d: un RDD sait comment recréer et recalculer son ensemble de données) – Les RDD sont immutables (c-a-d: Pour obtenir une modification d’un RDD, il faut y appliquer une transformation, qui retournera un nouveau RDD, l’original restera inchangé) • DAG (Directed Acyclic Graph) – Direct - La transformation est une action qui fait passer l'état de la partition de A à B. – Acyclic -Transformation ne peut pas retourner à l'ancienne partition – C’est une séquence de calculs effectuée sur des données où chaque nœud est une partition RDD et un front est une transformation au-dessus des données. • Les transformations – prend juste un RDD et retourne un nouveau RDD – par exemple map, filter, flatMap, groupByKey, reduceByKey, aggregateByKey, pipe (ex: dataRDD.pipe("/home/hadoop/echo.sh")) et coalesce (= repartition()) • Les actions – les actions évaluent et retournent une nouvelle valeur – par exemple reduce, collect, count, first, take, countByKey et foreach Page 1
  • 2. Spark en Python Page 2 – CVSP 12 sept 2017 - CAAPIC
  • 3. Comment ça marche 1. Le code soumis contenant des transformations RDDs forme un graphe acyclique direct (DAG) qui est ensuite divisé en étapes de tâches par DAGScheduler. 2. Une étape est composée de tâches basées sur des partitions des données d'entrée. 3. Les tâches sont planifiées par TaskScheduler afin de maximiser leur traitement parallèle et optimisé. 4. Cluster Manager (en Standalone dans notre cas) envoient les tâches planifiés aux workers pour les exécuter. Page 3
  • 4. Implémentation • Composants – Un master – Spark Driver – Trois workers – Un client to soumettre l’application en Python • Bibliothèques – Python 3.6 – Docker 17.03.1 – Pyspark 2.2.0 – Pybuilder 0.9 – Spark 2.2.0 – Java 8 • Déploiement – Gestion de cluster en mode Standalone – Docker composer – Gitlab: https://gitlab.assurances.group.gca/AAD/demo-spark Page 4

Notes de l'éditeur

  • #2: Keep in mind that repartitioning your data is a fairly expensive operation. Spark also has an optimized version of repartition() called coalesce() that allows avoiding data movement, but only if you are decreasing the number of RDD partitions. Pipe operator in Spark, allows developer to process RDD data using external applications.