SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
Retour d’expérience
                             Hadoop MapReduce comme grille de calcul

        Marc Bojoly, architecte senior OCTO Technology, mbojoly@octo.com




© OCTO 2011
Pourquoi une telle idée?

 C‘est un pattern - peu répandu- mais cité dans la
   littérature
      Hadoop the Definitive guide
      Highly Scalable Blog


 Les grilles de calculs manipulent également beaucoup
   de données
      Pour accéder aux données nécessaires au calcul
      Pour agréger les résultats des différents noeuds


 Hadoop est efficace pour paralléliser les traitements et
   offre simultanément des outils pour analyser d’énormes
   quantités de données

@OCTO 2011                                                               2
Conclusion

En un mot…..




               …c’est moins performant qu’une grille de calcul




@OCTO 2011                                                       3
Happy hour !




@OCTO 2011                  4
Oui mais encore….

 C’est moins performant qu’une grille de calcul…
                                  ….sauf dans certains cas particuliers

 Objectifs de la présentation
      Vous indiquez lesquels
      Vous donner quelques chiffres
      Vous permettre d’argument négativement si quelqu’un vous propose
       une idée similaire




@OCTO 2011                                                                5
Agenda


 Le cas d’étude : la VAR
 Le code Hadoop et GridGain de ce
  POC
 Les mesures pour comparer
 Les résultats
 Les optimisations
 Explications
@OCTO 2011                             6
La Value At Risk

 VAR : une mesure de la perte maximale possible, durant une
   période de temps donnée avec une probabilité maximale fixée




                               75 €
             10% de (mal)chance
             D’avoir plus de 25€ de perte
                                            Prix d’achat
@OCTO 2011                                                                    7
Simuler pour calculer la VAR de produits complexes

 Simulation de prix
       Lorsque l’historique n’est pas
        disponible
             • On simule le prix des produits
               simples (actions, taux
               d’intérêt) pour lesquels on a
               un historique
             • On utilise le modèle de Black
               and Sholes pour calculer le
               prix actuel de l’action
 Le calcul de Monte-Carlo
       Pourquoi ça marche ?
             • Un calcul précis à partir de
               tirage aléatoire !
             • Basé mathématiquement sur
               la loi des grands nombres
       Hello World : le calcul de Pi
@OCTO 2011                                                    8
Un calcul intensif…adapté au Map/Reduce

                                 Map                                       Reduce
                                                           Regroupe tous les prix et
                         Simulation                        identifie les 9*33%=2 plus
                         Calcule les prix correspondants   faibles
                         3 prix sont retournés par         Identifie le plus haut parmi ces 2
Paramètres               chaque noeud
 d’entrée                                                  : il s’agit de la VAR à 77%



                           0
                           1                                                    VAR à 77%
                           2




                                                                    Librairie
© OCTO Technology 2010                                                                          9
Le match : Gridgain versus Hadoop

 GridGain                                  Hadoop
      Conçu comme une pure grille              Conçu comme un framework
       de calcul                                 de calcul distribué, scalable et
      Basée sur le pattern                      fiable
       Map/Reduce                               Basée sur le pattern
      Open Source                               Map/Reduce
                                                Open Source

 Les règles du jeu
      Même noyau de calcul
      Exécuté sur la même « grille »
         Un à 2 portables (DEL Latitude E6510 avec un code i7 quad core
           avec 4 GB de RAM)
      Comparaison sur un cas d’utilisation nécessitant d’utiliser le disque

@OCTO 2011                                                                          10
Le moteur de calcul




             Variable 1E3 à 1E9

                           Potentiellement
                                  ~10 000
                          opérations +,-,*,/


                    Optimisation




@OCTO 2011                                 11
Aperçu de Gridgain

                           Split


(…)

                           Map

(…)




                           Algorithme




   @OCTO 2011                           12
Aperçu de GridGain

                       Reduce




@OCTO 2011                        13
Aperçu de Hadoop
             Split

                           Map




                          N tirages par process
                               Adapter pour
                               ComputeVar()




@OCTO 2011                                   14
Aperçu de Hadoop

                     Reduce




@OCTO 2011                      15
Un cas d’utilisation à l’avantage d’Hadoop

 Objectifs
      Réaliser le calcul de façon parallèle
      Traiter ensuite les résultats dans la grille de façon
       colocalisée
 Cas d’utilisation
      Calcul de la VAR comme précédemment
      Collecte des résultats de calcul intermédiaires
      Analyse avec Hadoop pour expliquer la VAR
 Implémentations
      GridGain calcule puis écrit ses données dans un fichier
      Hadoop calcule de façon standard dans HDFS

@OCTO 2011                                                       16
Exemple d’analyse explicative avec Hive


INSERT OVERWRITE LOCAL
DIRECTORY "HiveOutput" ROW
FORMAT DELIMITED FIELDS
TERMINATED BY 't' select
cp.s0, cp.price from cp
order by cp.price;'


 Hello World : on
   retrouve les formules de
   Black-and-Sholes…




@OCTO 2011                                                     17
Résultat sur GridGain hors du cas d’analyse

 Les données ne sont pas stockées pour analyse




     1 DELL Latitude E6510 avec un core i67 quad core et 4 GB de RAM., 4 threads simultanés

@OCTO 2011                                                                                    18
« combine » rejetée pour les besoins d’analyse

 Un seul reducer sur Gridgain
      C’est un goulet d’étranglement
 Le calcul de la VAR permet de ne pas envoyer toutes les
   données
      Combine : ne renvoyer de chaque nœud que 10% du volume total
      Mais on ne sait plus expliquer
 Quelques résultats

 Temps standard
 Temps optim combine




@OCTO 2011                 2 machines et 6 processus                  19
Conservation des paramètres + résultats pour analyse




1 machine physique avec 4 coeurs sur mon laptop, un DELL Latitude E6510 avec un core i67 quad core et 4 GB de RAM.

@OCTO 2011                                                                                                           20
GridGain : 1 s., avec données 40 s., Hadoop >= 40 s.




1 machine virtuelle avec 2 GB de RAM et 4 coeurs sur mon laptop, un DELL Latitude E6510 avec un core i67 quad core et 4 GB de RAM.

@OCTO 2011                                                                                                                           21
Algorithme sur Hadoop (1/2)

 Extraction de la VAR                                                         La clé intermédiaire
   avec l’aide du tri par
                                           scenario id;percentile size;call price
   clé
      Utilisation de la
       fonction de tri des clés
                                                               Donnée en sortie
      Données triées par
       scénario puis par prix     1;10;0.513775910851316      ( "252   84.31301373924966 120.0    0.05   0.2


       croissant
                                           0.513775910851316", "252    103.39569385168355 120.0   0.05   0.2
                                           4.181165705822988", "252    123.11293496630553 120.0   0.05   0.2
                                           14.414516512987014")



      Plusieurs tirages
       peuvent donner le
       même prix


@OCTO 2011                                                                                                     22
Hadoop : Implémentation 1




                                            Job Hadoop
                                                            Map : compute

                                                         Reduce: idempotent



1;10;0.513775910851316      ( "252   84.31301373924966 120.0    0.05   0.2
                                                                                   Job Hive
         0.513775910851316", "252    103.39569385168355 120.0   0.05   0.2
         4.181165705822988", "252
         14.414516512987014")
                                     123.11293496630553 120.0   0.05   0.2
                                                                                      Analyse des données


                                              Client : lecture du fichier trié
                                                          par prix
                                                Extraction du percentile
       @OCTO 2011                                                                                           23
Algorithme sur Hadoop (1/2)

                                                                               La clé intermédiaire
 Extraction de la VAR par le
   Reducer                                 scenario id;percentile size;call price

                                                               Donnée en entrée du reducer
 Parallélisation : un                 1;10;0.513775910851316      ( "252
                                                0.513775910851316", "252
                                                4.181165705822988", "252
                                                14.414516512987014")
                                                                            84.31301373924966 120.0
                                                                            103.39569385168355 120.0
                                                                            123.11293496630553 120.0
                                                                                                       0.05
                                                                                                       0.05
                                                                                                       0.05
                                                                                                              0.2
                                                                                                              0.2
                                                                                                              0.2


   reducer par simulation
      Utilisation d’un partitionner
       par identifiant de simulation
      Utilisation d’un
       comparateur par identifiant
       de simulation ET prix de
       l’option
      Le reducer lit la taille du
       percentile et extrait la
       Nième valeur par ordre
       croissant
@OCTO 2011                                                                                                          24
Hadoop : Implémentation 2




                                              Job Hadoop
                                                              Map : compute

                                                           Reduce: idempotent

                                                                                  FirstPartitionner
1;10;0.513775910851316      ( "252     84.31301373924966 120.0     0.05    0.2
         0.513775910851316", "252      103.39569385168355 120.0    0.05    0.2
         4.181165705822988", "252      123.11293496630553 120.0    0.05    0.2
         14.414516512987014")                                                                     Job Hive
 1;11;0.513775910851316      ( "252     84.31301373924966 120.0     0.05    0.2
          0.513775910851316", "252
          4.181165705822988", "252
                                        103.39569385168355 120.0
                                        123.11293496630553 120.0
                                                                    0.05
                                                                    0.05
                                                                            0.2
                                                                            0.2
                                                                                                      Analyse des données
          14.414516512987014")




                            Job Hadoop
                                                                     Map : 0

                                      N Reducers: extraction du percentile
       @OCTO 2011                                                                                                           25
Optimiser Hadoop : optimiser les accès disques

 Optimisation de paramètres
      Plus de mémoire
       (mapred.child.java.opts)
                                              #core-site.xml
      Traiter des lots plus importants       io.file.buffer.size=131072
       (io.file.buffer.size,io.sort.mb, io.   #hdfs-site.xml
                                              dfs.block.size=134217728
       sort.factor,)                          #mapred-site.xmlmapred.child.java.opts=-
      Lire et écrire des blocs plus          Xmx384m
                                              io.sort.mb=250
       importants sur HDFS                    io.sort.factor=100
       (dfs.block.size)
 Optimisations mineures
      Comparer sans désérialiser :
       1,19x plus rapide




@OCTO 2011                                                                               26
Hadoop dépasse GridGain sur les hauts volumes




1 machine virtuelle avec 2 GB de RAM et 4 coeurs sur mon laptop, un DELL Latitude E6510 avec un core i67 quad core et 4 GB de RAM.

@OCTO 2011                                                                                                                           27
Conclusion : des comparaisons… parfois musclée




@OCTO 2011                                                    28
Conclusion : fonctionnalités Hadoop / GridGain

                             Hadoop                                    GridGain
Designed to large DataSets   Yes (distributed FS)                      Not included
Nb. Of reducers              N                                         1
                             map(k, v, collector<k, v> output)         r GridJobAdapter ( v reduce() )
Programming model            map(key, value, collector<k, v> output)   r Reduce(List<GridJobResult>)
                             reduce(k, v, collector<k, v> output)

Between Map and Reduce       Sort                                      NA
                             Combine
                             Partition
Serialization                Custom                                    Java.serialisation
Interface                    Yes (Web)                                 Partly (JMX)
Programming Model
Locality                     Enforced                                  Possible

 Un critère de choix principal
    Si cela tient en mémoire => GridGain
    Sinon => Hadoop et optimiser les accès disques

 @OCTO 2011                                                                                              29
Questions ?




@OCTO 2011                 30

Mais conteúdo relacionado

Destaque

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
 
Spark ML par Xebia (Spark Meetup du 11/06/2015)
Spark ML par Xebia (Spark Meetup du 11/06/2015)Spark ML par Xebia (Spark Meetup du 11/06/2015)
Spark ML par Xebia (Spark Meetup du 11/06/2015)Modern Data Stack France
 
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel ArkéaMathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel ArkéaModern Data Stack France
 
Hug france-2012-12-04
Hug france-2012-12-04Hug france-2012-12-04
Hug france-2012-12-04Ted Dunning
 
Analyse prédictive en assurance santé par Julien Cabot
Analyse prédictive en assurance santé par Julien CabotAnalyse prédictive en assurance santé par Julien Cabot
Analyse prédictive en assurance santé par Julien CabotModern Data Stack France
 
Syncsort et le retour d'expérience ComScore
Syncsort et le retour d'expérience ComScoreSyncsort et le retour d'expérience ComScore
Syncsort et le retour d'expérience ComScoreModern Data Stack France
 
Marcel Kornacker: Impala tech talk Tue Feb 26th 2013
Marcel Kornacker: Impala tech talk Tue Feb 26th 2013Marcel Kornacker: Impala tech talk Tue Feb 26th 2013
Marcel Kornacker: Impala tech talk Tue Feb 26th 2013Modern Data Stack France
 
Talend Open Studio for Big Data (powered by Apache Hadoop)
Talend Open Studio for Big Data (powered by Apache Hadoop)Talend Open Studio for Big Data (powered by Apache Hadoop)
Talend Open Studio for Big Data (powered by Apache Hadoop)Modern Data Stack France
 
Cassandra Hadoop Integration at HUG France by Piotr Kołaczkowski
Cassandra Hadoop Integration at HUG France by Piotr KołaczkowskiCassandra Hadoop Integration at HUG France by Piotr Kołaczkowski
Cassandra Hadoop Integration at HUG France by Piotr KołaczkowskiModern Data Stack France
 
Cassandra Hadoop Best Practices by Jeremy Hanna
Cassandra Hadoop Best Practices by Jeremy HannaCassandra Hadoop Best Practices by Jeremy Hanna
Cassandra Hadoop Best Practices by Jeremy HannaModern Data Stack France
 
Paris HUG - Agile Analytics Applications on Hadoop
Paris HUG - Agile Analytics Applications on HadoopParis HUG - Agile Analytics Applications on Hadoop
Paris HUG - Agile Analytics Applications on HadoopHortonworks
 
Paris Spark Meetup (Feb2015) ccarbone : SPARK Streaming vs Storm / MLLib / Ne...
Paris Spark Meetup (Feb2015) ccarbone : SPARK Streaming vs Storm / MLLib / Ne...Paris Spark Meetup (Feb2015) ccarbone : SPARK Streaming vs Storm / MLLib / Ne...
Paris Spark Meetup (Feb2015) ccarbone : SPARK Streaming vs Storm / MLLib / Ne...Cedric CARBONE
 
Cassandra spark connector
Cassandra spark connectorCassandra spark connector
Cassandra spark connectorDuyhai Doan
 
Platine - Plaquette commerciale
Platine - Plaquette commercialePlatine - Plaquette commerciale
Platine - Plaquette commercialePlatine
 

Destaque (20)

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
 
Spark ML par Xebia (Spark Meetup du 11/06/2015)
Spark ML par Xebia (Spark Meetup du 11/06/2015)Spark ML par Xebia (Spark Meetup du 11/06/2015)
Spark ML par Xebia (Spark Meetup du 11/06/2015)
 
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel ArkéaMathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
 
Spark dataframe
Spark dataframeSpark dataframe
Spark dataframe
 
Cascalog présenté par Bertrand Dechoux
Cascalog présenté par Bertrand DechouxCascalog présenté par Bertrand Dechoux
Cascalog présenté par Bertrand Dechoux
 
Hug france-2012-12-04
Hug france-2012-12-04Hug france-2012-12-04
Hug france-2012-12-04
 
Analyse prédictive en assurance santé par Julien Cabot
Analyse prédictive en assurance santé par Julien CabotAnalyse prédictive en assurance santé par Julien Cabot
Analyse prédictive en assurance santé par Julien Cabot
 
M7 and Apache Drill, Micheal Hausenblas
M7 and Apache Drill, Micheal HausenblasM7 and Apache Drill, Micheal Hausenblas
M7 and Apache Drill, Micheal Hausenblas
 
IBM Stream au Hadoop User Group
IBM Stream au Hadoop User GroupIBM Stream au Hadoop User Group
IBM Stream au Hadoop User Group
 
Syncsort et le retour d'expérience ComScore
Syncsort et le retour d'expérience ComScoreSyncsort et le retour d'expérience ComScore
Syncsort et le retour d'expérience ComScore
 
Marcel Kornacker: Impala tech talk Tue Feb 26th 2013
Marcel Kornacker: Impala tech talk Tue Feb 26th 2013Marcel Kornacker: Impala tech talk Tue Feb 26th 2013
Marcel Kornacker: Impala tech talk Tue Feb 26th 2013
 
Hadoop on Azure
Hadoop on AzureHadoop on Azure
Hadoop on Azure
 
Talend Open Studio for Big Data (powered by Apache Hadoop)
Talend Open Studio for Big Data (powered by Apache Hadoop)Talend Open Studio for Big Data (powered by Apache Hadoop)
Talend Open Studio for Big Data (powered by Apache Hadoop)
 
Cassandra Hadoop Integration at HUG France by Piotr Kołaczkowski
Cassandra Hadoop Integration at HUG France by Piotr KołaczkowskiCassandra Hadoop Integration at HUG France by Piotr Kołaczkowski
Cassandra Hadoop Integration at HUG France by Piotr Kołaczkowski
 
Cassandra Hadoop Best Practices by Jeremy Hanna
Cassandra Hadoop Best Practices by Jeremy HannaCassandra Hadoop Best Practices by Jeremy Hanna
Cassandra Hadoop Best Practices by Jeremy Hanna
 
Paris HUG - Agile Analytics Applications on Hadoop
Paris HUG - Agile Analytics Applications on HadoopParis HUG - Agile Analytics Applications on Hadoop
Paris HUG - Agile Analytics Applications on Hadoop
 
Paris Spark Meetup (Feb2015) ccarbone : SPARK Streaming vs Storm / MLLib / Ne...
Paris Spark Meetup (Feb2015) ccarbone : SPARK Streaming vs Storm / MLLib / Ne...Paris Spark Meetup (Feb2015) ccarbone : SPARK Streaming vs Storm / MLLib / Ne...
Paris Spark Meetup (Feb2015) ccarbone : SPARK Streaming vs Storm / MLLib / Ne...
 
Cassandra spark connector
Cassandra spark connectorCassandra spark connector
Cassandra spark connector
 
Platine - Plaquette commerciale
Platine - Plaquette commercialePlatine - Plaquette commerciale
Platine - Plaquette commerciale
 
Anciens vehicules
Anciens vehiculesAnciens vehicules
Anciens vehicules
 

Semelhante a Hadoop HPC, calcul de VAR sur Hadoop vs GridGain

Présentation Big Data et REX Hadoop
Présentation Big Data et REX HadoopPrésentation Big Data et REX Hadoop
Présentation Big Data et REX HadoopJoseph Glorieux
 
Introduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxIntroduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxLaurent Broudoux
 
Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...
Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...
Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...OCTO Technology
 
NetApp PartnersTour 2011 à Lille, mon point de vue
NetApp PartnersTour 2011 à Lille, mon point de vueNetApp PartnersTour 2011 à Lille, mon point de vue
NetApp PartnersTour 2011 à Lille, mon point de vueOlivier (DaffyDuke) Duquesne
 
12h25 arkea philippe_le_goff
12h25 arkea philippe_le_goff12h25 arkea philippe_le_goff
12h25 arkea philippe_le_goffstephanfrancois
 
Parallélisation d'algorithmes de graphes avec MapReduce sur un cluster d'ordi...
Parallélisation d'algorithmes de graphes avec MapReduce sur un cluster d'ordi...Parallélisation d'algorithmes de graphes avec MapReduce sur un cluster d'ordi...
Parallélisation d'algorithmes de graphes avec MapReduce sur un cluster d'ordi...Hadjer BENHADJ DJILALI
 
Spad big data - sfds - 2016
Spad   big data - sfds - 2016Spad   big data - sfds - 2016
Spad big data - sfds - 2016Julien BLAIZE
 
Introduction NoSQL 201401 - Ensim
Introduction NoSQL 201401 - EnsimIntroduction NoSQL 201401 - Ensim
Introduction NoSQL 201401 - EnsimLaurent Broudoux
 
Big Data ou comment retrouver une aiguille dans une botte de foin
Big Data ou comment retrouver une aiguille dans une botte de foinBig Data ou comment retrouver une aiguille dans une botte de foin
Big Data ou comment retrouver une aiguille dans une botte de foinPALO IT
 
Extrait du Benchmark Cloud IaaS par Gekko
Extrait du Benchmark Cloud IaaS par Gekko Extrait du Benchmark Cloud IaaS par Gekko
Extrait du Benchmark Cloud IaaS par Gekko GekkoSAS
 
Morning with MongoDB Paris 2012 - Octo
Morning with MongoDB Paris 2012 - OctoMorning with MongoDB Paris 2012 - Octo
Morning with MongoDB Paris 2012 - OctoMongoDB
 
NoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler SofteamNoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler SofteamTelecomValley
 
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
 
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...Modern Data Stack France
 
ICT Journal - Dossier déduplication
ICT Journal - Dossier déduplicationICT Journal - Dossier déduplication
ICT Journal - Dossier déduplicationschene
 
Présentation NUVEA #FEnS2015
Présentation NUVEA  #FEnS2015Présentation NUVEA  #FEnS2015
Présentation NUVEA #FEnS2015ctanniou
 
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
 

Semelhante a Hadoop HPC, calcul de VAR sur Hadoop vs GridGain (20)

Présentation Big Data et REX Hadoop
Présentation Big Data et REX HadoopPrésentation Big Data et REX Hadoop
Présentation Big Data et REX Hadoop
 
Introduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxIntroduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudoux
 
Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...
Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...
Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...
 
Afterwork hadoop
Afterwork hadoopAfterwork hadoop
Afterwork hadoop
 
NetApp PartnersTour 2011 à Lille, mon point de vue
NetApp PartnersTour 2011 à Lille, mon point de vueNetApp PartnersTour 2011 à Lille, mon point de vue
NetApp PartnersTour 2011 à Lille, mon point de vue
 
12h25 arkea philippe_le_goff
12h25 arkea philippe_le_goff12h25 arkea philippe_le_goff
12h25 arkea philippe_le_goff
 
Parallélisation d'algorithmes de graphes avec MapReduce sur un cluster d'ordi...
Parallélisation d'algorithmes de graphes avec MapReduce sur un cluster d'ordi...Parallélisation d'algorithmes de graphes avec MapReduce sur un cluster d'ordi...
Parallélisation d'algorithmes de graphes avec MapReduce sur un cluster d'ordi...
 
Spad big data - sfds - 2016
Spad   big data - sfds - 2016Spad   big data - sfds - 2016
Spad big data - sfds - 2016
 
Introduction NoSQL 201401 - Ensim
Introduction NoSQL 201401 - EnsimIntroduction NoSQL 201401 - Ensim
Introduction NoSQL 201401 - Ensim
 
Big Data ou comment retrouver une aiguille dans une botte de foin
Big Data ou comment retrouver une aiguille dans une botte de foinBig Data ou comment retrouver une aiguille dans une botte de foin
Big Data ou comment retrouver une aiguille dans une botte de foin
 
Extrait du Benchmark Cloud IaaS par Gekko
Extrait du Benchmark Cloud IaaS par Gekko Extrait du Benchmark Cloud IaaS par Gekko
Extrait du Benchmark Cloud IaaS par Gekko
 
Morning with MongoDB Paris 2012 - Octo
Morning with MongoDB Paris 2012 - OctoMorning with MongoDB Paris 2012 - Octo
Morning with MongoDB Paris 2012 - Octo
 
Agl2012
Agl2012Agl2012
Agl2012
 
NoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler SofteamNoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler Softeam
 
Javavs net
Javavs netJavavs net
Javavs net
 
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)
 
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
 
ICT Journal - Dossier déduplication
ICT Journal - Dossier déduplicationICT Journal - Dossier déduplication
ICT Journal - Dossier déduplication
 
Présentation NUVEA #FEnS2015
Présentation NUVEA  #FEnS2015Présentation NUVEA  #FEnS2015
Présentation NUVEA #FEnS2015
 
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
 

Mais de Modern Data Stack France

Talend spark meetup 03042017 - Paris Spark Meetup
Talend spark meetup 03042017 - Paris Spark MeetupTalend spark meetup 03042017 - Paris Spark Meetup
Talend spark meetup 03042017 - Paris Spark MeetupModern Data Stack France
 
Paris Spark Meetup - Trifacta - 03_04_2017
Paris Spark Meetup - Trifacta - 03_04_2017Paris Spark Meetup - Trifacta - 03_04_2017
Paris Spark Meetup - Trifacta - 03_04_2017Modern Data Stack France
 
Hadoop meetup : HUGFR Construire le cluster le plus rapide pour l'analyse des...
Hadoop meetup : HUGFR Construire le cluster le plus rapide pour l'analyse des...Hadoop meetup : HUGFR Construire le cluster le plus rapide pour l'analyse des...
Hadoop meetup : HUGFR Construire le cluster le plus rapide pour l'analyse des...Modern Data Stack France
 
HUG France Feb 2016 - Migration de données structurées entre Hadoop et RDBMS ...
HUG France Feb 2016 - Migration de données structurées entre Hadoop et RDBMS ...HUG France Feb 2016 - Migration de données structurées entre Hadoop et RDBMS ...
HUG France Feb 2016 - Migration de données structurées entre Hadoop et RDBMS ...Modern Data Stack France
 
Hadoop France meetup Feb2016 : recommendations with spark
Hadoop France meetup  Feb2016 : recommendations with sparkHadoop France meetup  Feb2016 : recommendations with spark
Hadoop France meetup Feb2016 : recommendations with sparkModern Data Stack France
 
HUG France - 20160114 industrialisation_process_big_data CanalPlus
HUG France -  20160114 industrialisation_process_big_data CanalPlusHUG France -  20160114 industrialisation_process_big_data CanalPlus
HUG France - 20160114 industrialisation_process_big_data CanalPlusModern Data Stack France
 
HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)
HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)
HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)Modern Data Stack France
 
Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015
Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015
Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015Modern Data Stack France
 
Datalab 101 (Hadoop, Spark, ElasticSearch) par Jonathan Winandy - Paris Spark...
Datalab 101 (Hadoop, Spark, ElasticSearch) par Jonathan Winandy - Paris Spark...Datalab 101 (Hadoop, Spark, ElasticSearch) par Jonathan Winandy - Paris Spark...
Datalab 101 (Hadoop, Spark, ElasticSearch) par Jonathan Winandy - Paris Spark...Modern Data Stack France
 
Record linkage, a real use case with spark ml - Paris Spark meetup Dec 2015
Record linkage, a real use case with spark ml  - Paris Spark meetup Dec 2015Record linkage, a real use case with spark ml  - Paris Spark meetup Dec 2015
Record linkage, a real use case with spark ml - Paris Spark meetup Dec 2015Modern Data Stack France
 
Hadoop User Group 29Jan2015 Apache Flink / Haven / CapGemnini REX
Hadoop User Group 29Jan2015 Apache Flink / Haven / CapGemnini REXHadoop User Group 29Jan2015 Apache Flink / Haven / CapGemnini REX
Hadoop User Group 29Jan2015 Apache Flink / Haven / CapGemnini REXModern Data Stack France
 
The Cascading (big) data application framework
The Cascading (big) data application frameworkThe Cascading (big) data application framework
The Cascading (big) data application frameworkModern Data Stack France
 
Introduction sur Tez par Olivier RENAULT de HortonWorks Meetup du 25/11/2014
Introduction sur Tez par Olivier RENAULT de HortonWorks Meetup du 25/11/2014Introduction sur Tez par Olivier RENAULT de HortonWorks Meetup du 25/11/2014
Introduction sur Tez par Olivier RENAULT de HortonWorks Meetup du 25/11/2014Modern Data Stack France
 
HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...
HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...
HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...Modern Data Stack France
 

Mais de Modern Data Stack France (20)

Stash - Data FinOPS
Stash - Data FinOPSStash - Data FinOPS
Stash - Data FinOPS
 
Vue d'ensemble Dremio
Vue d'ensemble DremioVue d'ensemble Dremio
Vue d'ensemble Dremio
 
From Data Warehouse to Lakehouse
From Data Warehouse to LakehouseFrom Data Warehouse to Lakehouse
From Data Warehouse to Lakehouse
 
Talend spark meetup 03042017 - Paris Spark Meetup
Talend spark meetup 03042017 - Paris Spark MeetupTalend spark meetup 03042017 - Paris Spark Meetup
Talend spark meetup 03042017 - Paris Spark Meetup
 
Paris Spark Meetup - Trifacta - 03_04_2017
Paris Spark Meetup - Trifacta - 03_04_2017Paris Spark Meetup - Trifacta - 03_04_2017
Paris Spark Meetup - Trifacta - 03_04_2017
 
Hadoop meetup : HUGFR Construire le cluster le plus rapide pour l'analyse des...
Hadoop meetup : HUGFR Construire le cluster le plus rapide pour l'analyse des...Hadoop meetup : HUGFR Construire le cluster le plus rapide pour l'analyse des...
Hadoop meetup : HUGFR Construire le cluster le plus rapide pour l'analyse des...
 
HUG France Feb 2016 - Migration de données structurées entre Hadoop et RDBMS ...
HUG France Feb 2016 - Migration de données structurées entre Hadoop et RDBMS ...HUG France Feb 2016 - Migration de données structurées entre Hadoop et RDBMS ...
HUG France Feb 2016 - Migration de données structurées entre Hadoop et RDBMS ...
 
Hadoop France meetup Feb2016 : recommendations with spark
Hadoop France meetup  Feb2016 : recommendations with sparkHadoop France meetup  Feb2016 : recommendations with spark
Hadoop France meetup Feb2016 : recommendations with spark
 
Hug janvier 2016 -EDF
Hug   janvier 2016 -EDFHug   janvier 2016 -EDF
Hug janvier 2016 -EDF
 
HUG France - 20160114 industrialisation_process_big_data CanalPlus
HUG France -  20160114 industrialisation_process_big_data CanalPlusHUG France -  20160114 industrialisation_process_big_data CanalPlus
HUG France - 20160114 industrialisation_process_big_data CanalPlus
 
Hugfr SPARK & RIAK -20160114_hug_france
Hugfr  SPARK & RIAK -20160114_hug_franceHugfr  SPARK & RIAK -20160114_hug_france
Hugfr SPARK & RIAK -20160114_hug_france
 
HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)
HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)
HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)
 
Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015
Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015
Apache Flink par Bilal Baltagi Paris Spark Meetup Dec 2015
 
Datalab 101 (Hadoop, Spark, ElasticSearch) par Jonathan Winandy - Paris Spark...
Datalab 101 (Hadoop, Spark, ElasticSearch) par Jonathan Winandy - Paris Spark...Datalab 101 (Hadoop, Spark, ElasticSearch) par Jonathan Winandy - Paris Spark...
Datalab 101 (Hadoop, Spark, ElasticSearch) par Jonathan Winandy - Paris Spark...
 
Record linkage, a real use case with spark ml - Paris Spark meetup Dec 2015
Record linkage, a real use case with spark ml  - Paris Spark meetup Dec 2015Record linkage, a real use case with spark ml  - Paris Spark meetup Dec 2015
Record linkage, a real use case with spark ml - Paris Spark meetup Dec 2015
 
Spark meetup at viadeo
Spark meetup at viadeoSpark meetup at viadeo
Spark meetup at viadeo
 
Hadoop User Group 29Jan2015 Apache Flink / Haven / CapGemnini REX
Hadoop User Group 29Jan2015 Apache Flink / Haven / CapGemnini REXHadoop User Group 29Jan2015 Apache Flink / Haven / CapGemnini REX
Hadoop User Group 29Jan2015 Apache Flink / Haven / CapGemnini REX
 
The Cascading (big) data application framework
The Cascading (big) data application frameworkThe Cascading (big) data application framework
The Cascading (big) data application framework
 
Introduction sur Tez par Olivier RENAULT de HortonWorks Meetup du 25/11/2014
Introduction sur Tez par Olivier RENAULT de HortonWorks Meetup du 25/11/2014Introduction sur Tez par Olivier RENAULT de HortonWorks Meetup du 25/11/2014
Introduction sur Tez par Olivier RENAULT de HortonWorks Meetup du 25/11/2014
 
HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...
HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...
HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...
 

Hadoop HPC, calcul de VAR sur Hadoop vs GridGain

  • 1. Retour d’expérience Hadoop MapReduce comme grille de calcul Marc Bojoly, architecte senior OCTO Technology, mbojoly@octo.com © OCTO 2011
  • 2. Pourquoi une telle idée?  C‘est un pattern - peu répandu- mais cité dans la littérature  Hadoop the Definitive guide  Highly Scalable Blog  Les grilles de calculs manipulent également beaucoup de données  Pour accéder aux données nécessaires au calcul  Pour agréger les résultats des différents noeuds  Hadoop est efficace pour paralléliser les traitements et offre simultanément des outils pour analyser d’énormes quantités de données @OCTO 2011 2
  • 3. Conclusion En un mot….. …c’est moins performant qu’une grille de calcul @OCTO 2011 3
  • 5. Oui mais encore….  C’est moins performant qu’une grille de calcul… ….sauf dans certains cas particuliers  Objectifs de la présentation  Vous indiquez lesquels  Vous donner quelques chiffres  Vous permettre d’argument négativement si quelqu’un vous propose une idée similaire @OCTO 2011 5
  • 6. Agenda  Le cas d’étude : la VAR  Le code Hadoop et GridGain de ce POC  Les mesures pour comparer  Les résultats  Les optimisations  Explications @OCTO 2011 6
  • 7. La Value At Risk  VAR : une mesure de la perte maximale possible, durant une période de temps donnée avec une probabilité maximale fixée 75 € 10% de (mal)chance D’avoir plus de 25€ de perte Prix d’achat @OCTO 2011 7
  • 8. Simuler pour calculer la VAR de produits complexes  Simulation de prix  Lorsque l’historique n’est pas disponible • On simule le prix des produits simples (actions, taux d’intérêt) pour lesquels on a un historique • On utilise le modèle de Black and Sholes pour calculer le prix actuel de l’action  Le calcul de Monte-Carlo  Pourquoi ça marche ? • Un calcul précis à partir de tirage aléatoire ! • Basé mathématiquement sur la loi des grands nombres  Hello World : le calcul de Pi @OCTO 2011 8
  • 9. Un calcul intensif…adapté au Map/Reduce Map Reduce Regroupe tous les prix et Simulation identifie les 9*33%=2 plus Calcule les prix correspondants faibles 3 prix sont retournés par Identifie le plus haut parmi ces 2 Paramètres chaque noeud d’entrée : il s’agit de la VAR à 77% 0 1 VAR à 77% 2 Librairie © OCTO Technology 2010 9
  • 10. Le match : Gridgain versus Hadoop  GridGain  Hadoop  Conçu comme une pure grille  Conçu comme un framework de calcul de calcul distribué, scalable et  Basée sur le pattern fiable Map/Reduce  Basée sur le pattern  Open Source Map/Reduce  Open Source  Les règles du jeu  Même noyau de calcul  Exécuté sur la même « grille »  Un à 2 portables (DEL Latitude E6510 avec un code i7 quad core avec 4 GB de RAM)  Comparaison sur un cas d’utilisation nécessitant d’utiliser le disque @OCTO 2011 10
  • 11. Le moteur de calcul Variable 1E3 à 1E9 Potentiellement ~10 000 opérations +,-,*,/ Optimisation @OCTO 2011 11
  • 12. Aperçu de Gridgain Split (…) Map (…) Algorithme @OCTO 2011 12
  • 13. Aperçu de GridGain Reduce @OCTO 2011 13
  • 14. Aperçu de Hadoop Split Map N tirages par process Adapter pour ComputeVar() @OCTO 2011 14
  • 15. Aperçu de Hadoop Reduce @OCTO 2011 15
  • 16. Un cas d’utilisation à l’avantage d’Hadoop  Objectifs  Réaliser le calcul de façon parallèle  Traiter ensuite les résultats dans la grille de façon colocalisée  Cas d’utilisation  Calcul de la VAR comme précédemment  Collecte des résultats de calcul intermédiaires  Analyse avec Hadoop pour expliquer la VAR  Implémentations  GridGain calcule puis écrit ses données dans un fichier  Hadoop calcule de façon standard dans HDFS @OCTO 2011 16
  • 17. Exemple d’analyse explicative avec Hive INSERT OVERWRITE LOCAL DIRECTORY "HiveOutput" ROW FORMAT DELIMITED FIELDS TERMINATED BY 't' select cp.s0, cp.price from cp order by cp.price;'  Hello World : on retrouve les formules de Black-and-Sholes… @OCTO 2011 17
  • 18. Résultat sur GridGain hors du cas d’analyse  Les données ne sont pas stockées pour analyse 1 DELL Latitude E6510 avec un core i67 quad core et 4 GB de RAM., 4 threads simultanés @OCTO 2011 18
  • 19. « combine » rejetée pour les besoins d’analyse  Un seul reducer sur Gridgain  C’est un goulet d’étranglement  Le calcul de la VAR permet de ne pas envoyer toutes les données  Combine : ne renvoyer de chaque nœud que 10% du volume total  Mais on ne sait plus expliquer  Quelques résultats Temps standard Temps optim combine @OCTO 2011 2 machines et 6 processus 19
  • 20. Conservation des paramètres + résultats pour analyse 1 machine physique avec 4 coeurs sur mon laptop, un DELL Latitude E6510 avec un core i67 quad core et 4 GB de RAM. @OCTO 2011 20
  • 21. GridGain : 1 s., avec données 40 s., Hadoop >= 40 s. 1 machine virtuelle avec 2 GB de RAM et 4 coeurs sur mon laptop, un DELL Latitude E6510 avec un core i67 quad core et 4 GB de RAM. @OCTO 2011 21
  • 22. Algorithme sur Hadoop (1/2)  Extraction de la VAR La clé intermédiaire avec l’aide du tri par scenario id;percentile size;call price clé  Utilisation de la fonction de tri des clés Donnée en sortie  Données triées par scénario puis par prix 1;10;0.513775910851316 ( "252 84.31301373924966 120.0 0.05 0.2 croissant 0.513775910851316", "252 103.39569385168355 120.0 0.05 0.2 4.181165705822988", "252 123.11293496630553 120.0 0.05 0.2 14.414516512987014")  Plusieurs tirages peuvent donner le même prix @OCTO 2011 22
  • 23. Hadoop : Implémentation 1 Job Hadoop Map : compute Reduce: idempotent 1;10;0.513775910851316 ( "252 84.31301373924966 120.0 0.05 0.2 Job Hive 0.513775910851316", "252 103.39569385168355 120.0 0.05 0.2 4.181165705822988", "252 14.414516512987014") 123.11293496630553 120.0 0.05 0.2 Analyse des données Client : lecture du fichier trié par prix Extraction du percentile @OCTO 2011 23
  • 24. Algorithme sur Hadoop (1/2) La clé intermédiaire  Extraction de la VAR par le Reducer scenario id;percentile size;call price Donnée en entrée du reducer  Parallélisation : un 1;10;0.513775910851316 ( "252 0.513775910851316", "252 4.181165705822988", "252 14.414516512987014") 84.31301373924966 120.0 103.39569385168355 120.0 123.11293496630553 120.0 0.05 0.05 0.05 0.2 0.2 0.2 reducer par simulation  Utilisation d’un partitionner par identifiant de simulation  Utilisation d’un comparateur par identifiant de simulation ET prix de l’option  Le reducer lit la taille du percentile et extrait la Nième valeur par ordre croissant @OCTO 2011 24
  • 25. Hadoop : Implémentation 2 Job Hadoop Map : compute Reduce: idempotent FirstPartitionner 1;10;0.513775910851316 ( "252 84.31301373924966 120.0 0.05 0.2 0.513775910851316", "252 103.39569385168355 120.0 0.05 0.2 4.181165705822988", "252 123.11293496630553 120.0 0.05 0.2 14.414516512987014") Job Hive 1;11;0.513775910851316 ( "252 84.31301373924966 120.0 0.05 0.2 0.513775910851316", "252 4.181165705822988", "252 103.39569385168355 120.0 123.11293496630553 120.0 0.05 0.05 0.2 0.2 Analyse des données 14.414516512987014") Job Hadoop Map : 0 N Reducers: extraction du percentile @OCTO 2011 25
  • 26. Optimiser Hadoop : optimiser les accès disques  Optimisation de paramètres  Plus de mémoire (mapred.child.java.opts) #core-site.xml  Traiter des lots plus importants io.file.buffer.size=131072 (io.file.buffer.size,io.sort.mb, io. #hdfs-site.xml dfs.block.size=134217728 sort.factor,) #mapred-site.xmlmapred.child.java.opts=-  Lire et écrire des blocs plus Xmx384m io.sort.mb=250 importants sur HDFS io.sort.factor=100 (dfs.block.size)  Optimisations mineures  Comparer sans désérialiser : 1,19x plus rapide @OCTO 2011 26
  • 27. Hadoop dépasse GridGain sur les hauts volumes 1 machine virtuelle avec 2 GB de RAM et 4 coeurs sur mon laptop, un DELL Latitude E6510 avec un core i67 quad core et 4 GB de RAM. @OCTO 2011 27
  • 28. Conclusion : des comparaisons… parfois musclée @OCTO 2011 28
  • 29. Conclusion : fonctionnalités Hadoop / GridGain Hadoop GridGain Designed to large DataSets Yes (distributed FS) Not included Nb. Of reducers N 1 map(k, v, collector<k, v> output) r GridJobAdapter ( v reduce() ) Programming model map(key, value, collector<k, v> output) r Reduce(List<GridJobResult>) reduce(k, v, collector<k, v> output) Between Map and Reduce Sort NA Combine Partition Serialization Custom Java.serialisation Interface Yes (Web) Partly (JMX) Programming Model Locality Enforced Possible  Un critère de choix principal  Si cela tient en mémoire => GridGain  Sinon => Hadoop et optimiser les accès disques @OCTO 2011 29