Hadoop est un framework 100% open source,écrit en Java et géré par la fondation Apache
Hadoop est capable de stocker et traiter de manière efficace un grand nombre de donnés, en reliant plusieurs serveurs banalisés entre eux pour travailler en parallèle
Rapide introduction à Hadoop lors du lancement du Casablanca Hadoop & Big Data Meetup.
En partenariat avec Hortonworks
http://www.meetup.com/Casablanca-Hadoop-et-Big-Data-Meetup
Hortonworks est l'éditeur d'Hortonworks Data Platform (HDP), une plate-forme de données basée sur Hadoop qui comprend entre autres les systèmes Hadoop Distributed File System (HDFS), Hadoop MapReduce, Apache Pig, Apache Hive, Apache HBase et Apache ZooKeeper.
Hadoop est un framework 100% open source,écrit en Java et géré par la fondation Apache
Hadoop est capable de stocker et traiter de manière efficace un grand nombre de donnés, en reliant plusieurs serveurs banalisés entre eux pour travailler en parallèle
Rapide introduction à Hadoop lors du lancement du Casablanca Hadoop & Big Data Meetup.
En partenariat avec Hortonworks
http://www.meetup.com/Casablanca-Hadoop-et-Big-Data-Meetup
Hortonworks est l'éditeur d'Hortonworks Data Platform (HDP), une plate-forme de données basée sur Hadoop qui comprend entre autres les systèmes Hadoop Distributed File System (HDFS), Hadoop MapReduce, Apache Pig, Apache Hive, Apache HBase et Apache ZooKeeper.
Annexe du cours Big Data
- Annexe A : Etapes d’un projet Big Data
- Annexe B : Schéma général de l’Algorithme MapReduce
- Annexe C : OpenStack & Hadoop
- Annexe D : Mahout
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
Big Data : Hadoop
- Généralité
- Architecture HDFS
- Algorithme MapRduce
- Architecture YARN
- Hadoop v3.x vs Hadoopv2.x
Cours Big Data - Chap2 - GI3 - ENIS
Petit-déjeuner MapReduce-La révolution dans l’analyse des BigDataMarc Bojoly
Big Data, MapReduce, calculs distribués, sont autant de buzz words et de concepts cantonnés jusqu’à maintenant à quelques acteurs spécifiques. Pourtant, il est un état de fait : nous sommes assis sur une quantité gigantesque de données dont il est difficile d’extraire l’information… D’autre part MapReduce est une solution éprouvée pour analyser d’énormes quantités de données (ou Big Data). Elle a, par exemple, été mise en œuvre par Google pour indexer le web, par LinkedIn pour calculer ses campagnes d’email… Dans ces conditions, ces concepts ont-ils un intérêt dans nos SI ? Quel est le niveau de maturité de ces solutions ? Cet atelier, co-organisé par OCTO Technology (www.octo.com) et Plaform (www.platform.com), démontrera que de telles solutions font sens dans nos projets SI. - See more at: http://blog.octo.com/petit-dejeuner-mapreduce-la-revolution-dans-lanalyse-des-bigdata-le-27-septembre/#sthash.GvRo8gOQ.dpuf
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...Modern Data Stack France
Hadoop User Group du lundi 6 oct 2014:
Talk #3: Administration Hadoop et retour d’expérience BI avec Impala, limites et recommandations par Abed Ajraou et Cherif Tifrani de Solocal (Pages Jaunes).
Présentation de l'architecture de calcul de statistique web chez Scoop.it, basé sur Hadoop+Hive, présentation faite lors de la session du 13 Décembre 2012 du Jug Toulouse
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
Spark, ou comment traiter des données à la vitesse de l'éclairAlexis Seigneurin
Spark fait partie de la nouvelle génération de frameworks de manipulation de données basés sur Hadoop. L’outil utilise agressivement la mémoire pour offrir des temps de traitement jusqu’à 100 fois plus rapides qu'Hadoop. Dans cette session, nous découvrirons les principes de traitement de données (notamment MapReduce) et les options mises à disposition pour monter un cluster (Zookeper, Mesos…). Nous ferons un point sur les différents modules proposés par le framework, et notamment sur Spark Streaming pour le traitement de données en flux continu.
Présentation jouée chez Ippon le 11 décembre 2014.
Les CPUs intègrent une unité de mesure de performance (PMU) que l'on peut utiliser pour collecter des données sur l'utilisation des caches (hit/miss) des prédictions de branches, du nombre d'instructions, des cycles, etc. Ces compteurs de performance (HPC) peuvent être accédés en Java grâce à la librairie overseer. Cette présentation montrera comment les mettre en oeuvre avec des exemples de situation où ils sont pertinents pour la compréhension des performances.
Getting Started with NuoDB Community Edition NuoDB
These are the companion slides to our Getting Started with NuoDB Community Edition Webinar. (http://www.nuodb.com/resources/videos/webinar-getting-started-nuodb)
El documento trata sobre el comercio electrónico. Explica que surgió como una forma moderna de hacer negocios que permite reducir costos y mejorar la calidad y entrega de bienes y servicios. Detalla que su origen se remonta a 1920 con la venta por catálogo en EE.UU. y que evolucionó gracias a innovaciones como la World Wide Web en 1989 e Internet en los años 70 y 80.
Annexe du cours Big Data
- Annexe A : Etapes d’un projet Big Data
- Annexe B : Schéma général de l’Algorithme MapReduce
- Annexe C : OpenStack & Hadoop
- Annexe D : Mahout
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
Big Data : Hadoop
- Généralité
- Architecture HDFS
- Algorithme MapRduce
- Architecture YARN
- Hadoop v3.x vs Hadoopv2.x
Cours Big Data - Chap2 - GI3 - ENIS
Petit-déjeuner MapReduce-La révolution dans l’analyse des BigDataMarc Bojoly
Big Data, MapReduce, calculs distribués, sont autant de buzz words et de concepts cantonnés jusqu’à maintenant à quelques acteurs spécifiques. Pourtant, il est un état de fait : nous sommes assis sur une quantité gigantesque de données dont il est difficile d’extraire l’information… D’autre part MapReduce est une solution éprouvée pour analyser d’énormes quantités de données (ou Big Data). Elle a, par exemple, été mise en œuvre par Google pour indexer le web, par LinkedIn pour calculer ses campagnes d’email… Dans ces conditions, ces concepts ont-ils un intérêt dans nos SI ? Quel est le niveau de maturité de ces solutions ? Cet atelier, co-organisé par OCTO Technology (www.octo.com) et Plaform (www.platform.com), démontrera que de telles solutions font sens dans nos projets SI. - See more at: http://blog.octo.com/petit-dejeuner-mapreduce-la-revolution-dans-lanalyse-des-bigdata-le-27-septembre/#sthash.GvRo8gOQ.dpuf
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...Modern Data Stack France
Hadoop User Group du lundi 6 oct 2014:
Talk #3: Administration Hadoop et retour d’expérience BI avec Impala, limites et recommandations par Abed Ajraou et Cherif Tifrani de Solocal (Pages Jaunes).
Présentation de l'architecture de calcul de statistique web chez Scoop.it, basé sur Hadoop+Hive, présentation faite lors de la session du 13 Décembre 2012 du Jug Toulouse
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
Spark, ou comment traiter des données à la vitesse de l'éclairAlexis Seigneurin
Spark fait partie de la nouvelle génération de frameworks de manipulation de données basés sur Hadoop. L’outil utilise agressivement la mémoire pour offrir des temps de traitement jusqu’à 100 fois plus rapides qu'Hadoop. Dans cette session, nous découvrirons les principes de traitement de données (notamment MapReduce) et les options mises à disposition pour monter un cluster (Zookeper, Mesos…). Nous ferons un point sur les différents modules proposés par le framework, et notamment sur Spark Streaming pour le traitement de données en flux continu.
Présentation jouée chez Ippon le 11 décembre 2014.
Les CPUs intègrent une unité de mesure de performance (PMU) que l'on peut utiliser pour collecter des données sur l'utilisation des caches (hit/miss) des prédictions de branches, du nombre d'instructions, des cycles, etc. Ces compteurs de performance (HPC) peuvent être accédés en Java grâce à la librairie overseer. Cette présentation montrera comment les mettre en oeuvre avec des exemples de situation où ils sont pertinents pour la compréhension des performances.
Getting Started with NuoDB Community Edition NuoDB
These are the companion slides to our Getting Started with NuoDB Community Edition Webinar. (http://www.nuodb.com/resources/videos/webinar-getting-started-nuodb)
El documento trata sobre el comercio electrónico. Explica que surgió como una forma moderna de hacer negocios que permite reducir costos y mejorar la calidad y entrega de bienes y servicios. Detalla que su origen se remonta a 1920 con la venta por catálogo en EE.UU. y que evolucionó gracias a innovaciones como la World Wide Web en 1989 e Internet en los años 70 y 80.
El documento resume las conclusiones de un informe de una empresa estadounidense de equipos de red sobre las amenazas cibernéticas. Señala que los piratas informáticos operan cada vez más como empresas exitosas y utilizan tácticas sofisticadas como spam, virus, botnets y aprovechamiento de eventos de actualidad para robar información y dinero. El informe también advierte sobre amenazas persistentes como Conficker y el aumento de riesgos internos debido a despidos laborales.
Introducción a la Gestión de Comunidades OnlineJavier Cerezo
Este documento presenta una introducción a la gestión de comunidades online o community management. Explica que un gestor de comunidades es la persona responsable de mantener y fortalecer las relaciones entre una empresa y sus clientes en el ámbito digital mediante el conocimiento de las necesidades estratégicas de la organización y los intereses de los clientes. También ofrece consejos para desempeñar este rol de manera efectiva.
El documento resume las principales amenazas cibernéticas identificadas en un informe de una empresa de seguridad, incluyendo que los piratas informáticos operan cada vez más como empresas exitosas y utilizan técnicas sofisticadas como el spam, los gusanos y las botnets para robar información y dinero. También advierte sobre amenazas específicas como Conficker, ataques relacionados con eventos de actualidad como la gripe H1N1, y el riesgo creciente de amenazas internas debido a las pérdidas de
La teoría plantea que el comportamiento humano respecto al planeta se asemeja al de un patógeno, multiplicándonos sin límites, consumiendo recursos sin control y generando residuos dañinos. Al igual que la fiebre es la respuesta del cuerpo ante una infección, el calentamiento global podría ser la reacción de la Tierra ante la contaminación humana. Actualmente se están viendo los efectos dañinos de nuestro comportamiento patogénico hacia el planeta desde la década de 1950, por lo que debemos cambiar nuestra actuación para evitar
Este documento presenta la información sobre el curso de Informática del Instituto de Formación Docente Continua de Villa Mercedes, San Luis. El curso es semi-presencial con clases teóricas y prácticas. Los objetivos son que los estudiantes conozcan los elementos básicos de las computadoras, sepan obtener y gestionar información de manera autónoma usando herramientas informáticas, y aprendan a utilizar la tecnología como recurso didáctico en el aula.
El documento describe el proyecto minero La Colosa en Cajamarca, Colombia. La empresa Anglo Gold Ashanti planea extraer oro mediante minería a cielo abierto debido a que las pruebas muestran que el oro está disperso superficialmente en 515 hectáreas. Esto requerirá remover 600,000 toneladas de tierra diariamente usando explosivos y maquinaria pesada, lo que podría contaminar las fuentes de agua y dañar la biodiversidad de la región. Los residentes locales expresan preocupaciones sobre los impactos ambientales y de s
Este documento es una carta sarcástica que critica las cadenas de correo electrónico que propagan desinformación y rumores infundados. El autor enumera cómo varias cadenas le han hecho adoptar actitudes paranoicas y dejar de realizar actividades normales por temor a riesgos inventados. Termina advirtiendo a otros que no crean ni propaguen más estas cadenas sin sentido.
La Institución Educativa Ciudad de Asís presenta informes académicos y financieros a las autoridades educativas detallando ingresos y gastos. La coordinación académica se enfoca en la reflexión, planeación, capacitación y participación para mejorar la calidad educativa a través de reuniones y capacitaciones a docentes. Se informa también sobre simulacros de pruebas estandarizadas a estudiantes y reuniones con padres de familia.
Este documento resume el Capítulo 1 de la Pedagogía del Oprimido de Paulo Freire. Freire argumenta que la educación debe ayudar a los oprimidos a tomar conciencia de su situación de opresión y luchar para liberarse a través de la acción colectiva. La educación no debe adaptar a los oprimidos a su contexto, sino capacitarlos para transformarlo y emanciparse de la opresión.
La provincia de Bolívar se encuentra en Ecuador, que es parte del continente sudamericano. El documento concluye que la ciudad de Guaranda y la provincia de Bolívar están globalizadas y dependen de factores económicos, políticos, sociales y culturales a nivel mundial.
1) La Cámara de Diputados aprobó un proyecto de ley que dará validez jurídica a la firma digital, mensajes de datos y expedientes electrónicos.
2) El sitio web de ABC fue rediseñado para ofrecer un espacio de lectura más confortable y separar contenidos impresos de los digitales.
3) Se lanzará el primer portal de noticias de Paraguay optimizado para teléfonos móviles llamado iABC.
Représentations de l’altérité et iconographie des populations amérindiennes a...Santesih
Jérôme Thomas
Université Montpellier III.
JE 2516
Présentation lors du séminaire méthodologique sur les images des 13 et 14 Novembre 2008 organisé par la Jeune Équipe de Recherche Santé Éducation et Situations de Handicap (JE 2516) à la Maison des Sciences de l'Homme Montpellier.
http://www.images-du-handicap.santesih.com
http://www.santesih.com
Tout ce que vous devez savoir sur les meilleures pratiques autour d'Exchange 2013... Des thèmes aussi divers que "comment virtualiser au mieux un serveur Exchange 2013" à "Que faire de mes dossiers partagés et que deviennent t'ils dans Exchange 2013". Tout ce qu'il y a à savoir expliqu par nos meilleurs experts Microsoft sur le sujet.
Speaker : Guy Groeneveld (Microsoft), Stefan Plizga (Microsoft), Raquel Municio (Microsoft France), Lionel Constantin (Microsoft France)
CNES - CCT SIL - Traitement et Manipulation de la donnée à l‘aide des technologies Big Data
Présentation du 30 Juin 2017
Les CCT sont des espaces d'échanges techniques mis en place par le CNES il y a 20 ans, dans le but de réunir différents acteurs industriels et public pour s'enrichir mutuellement.
S.M.A.C.K, Spark-Mesos-Akka-Cassandra-Kafka, fait partie des nouvelles générations d’architectures “BigData” open source proposant une alternative et / ou une complémentarité à Hadoop / Map-Reduce.
À la différence the Hadoop / Map-Reduce qui fournit une architecture permettant de paralléliser les I/O disque et réseau, S.M.A.C.K utilise d’avantage la mémoire ce qui permet de libérer les CPUs des tâches de I/O et ainsi augmenter les capacités de calcul pour un même cluster. L’architecture S.M.A.C.K, et Spark en particulier, est particulièrement plébiscitée par la communauté autour de la Data Science.
Il s’agit d’une architecture ”BigData” très populaire qui se trouve être un assemblage de services spécialisés à la différence d’une solution unique implémentant une liste de patterns et principes ce qui lui apporte une grande flexibilité mais également une certaine complexité.
Hadoop est devenu la plateforme de référence dans le monde Big Data.
Dans cette session, nous proposons un tour d’horizon de cet écosystème.
Nous vous présenterons les principaux composants de la plateforme, leurs fonctionnalités, leur maturité et les limites qu’ils permettent de dépasser.
Nous nous appuierons pour cela sur différents exemples de mise en œuvre afin d’illustrer la manière dont ils s’interconnectent pour former des solutions complètes de traitement des données.
MapReduce: Traitement de données distribué à grande échelle simplifiéMathieu Dumoulin
Présentation qui reprend les éléments principaux de l'article fondamental sur MapReduce de Dean et Ghemawat de 2004: MapReduce: simplified data processing on large clusters
Techday Arrow Group: Hadoop & le Big DataArrow Group
retrouvez notre techday sur Hadoop & le Big Data.
La Technologie Hadoop au coeur des
projets "Big Data".
Pour en savoir plus sur notre projet Square Predict:
http://www.square-solutions.com/accueil/square-predict-big-data-assurance/
4. ADAPTER LA CONFIGURATION DU CLUSTER
Le plus simple est dans un premier temps de configurer correctement son cluster Hadoop !
• Eviter les accès disques lents sur les datanodes et les tasktrackers
• RAID
• NAS
• LVM
• Un VLAN dédié au cluster pour éviter les problèmes de réseau
• Un ensemble de machines locales dédiées à Hadoop est l’idéal
• Les machines servant au MR doivent être homogènes au niveau hardware (pour une meilleure parallélisation)
Monitorer l’usage CPU, RAM et les I/O (disques et réseau) via des outils de monitoring
Beaucoup de littérature disponible sur les tailles de machines
Terasort to tune the cluster :)
4
8. PHASE MAP
• Les fichiers d’entrée sont contenus dans des « input
splits »
• Chaque fichier est assigné à un mapper
• Le mapper effectue la tâche assignée (job)
• Les résultats sont stockés dans un buffer mémoire
temporaire
• Les résultats sont ensuite partitionnés, triés et écrits sur
disque
• Les fichiers sont ensuite envoyés aux reducers
8
9. PHASE MAP: OPTIMISER LA LECTURE DES FICHIERS
TAILLE DES BLOCKS
• Les fichiers d’entrée sont stockés sur HDFS dans des blocks
– Chaque fichier est séparé en input split
– Chaque input split est stocké dans 1 ou plusieurs blocks
• En général, un input split est assigné à un mapper
taille de l’input d’un mapper = taille du fichier / facteur de compression
Considérations de performance :
• Si les input splits sont plus grands que les blocks HDFS : I/O réseau
pour récupérer d’autres blocs sur d’autres DataNodes
• Si les input splits sont plus petits que les blocks HDFS :
fragmentation
• Si les input splits sont trop petits : trop de mappers alloués pour des
petites tâches (overhead de création des mappers)
• dfs.block.size est un paramètre global au cluster !
9
10. PHASE MAP: OPTIMISER LA LECTURE DES FICHIERS
COMPRESSION
Rappel:
• taille de l’input d’un mapper = taille du fichier / facteur de compression
• Il existe plusieurs formats de compression utilisables dans Hadoop:
– GZIP : utilise le moins de mémoire mais le plus de CPU et n’est pas splittable
– LZO : propose la taille de compression la plus optimale mais gourmand en CPU et mémoire
– Snappy : est le plus rapide mais moins efficient que LZO sur la taille de compression
• Principes généraux des algorithmes de compression
– Algorithmes sans perte
• Utilisation de la redondance : deflate (remplacement de symboles, utilisation de pointeurs), compression par dictionnaire
(stockage d’occurrences à remplacer par un indice)…
– Algorithmes avec perte : JPEG
• Le curseur est à placer entre les ressources du cluster (CPU, I/Os, RAM…) et la taille des input splits :
monitoring !
• Il est possible de combiner la compression à la sérialisation des données : Avro, ProtoBuf, Thrift
10
11. PHASE MAP: OPTIMISER LA LECTURE DES FICHIERS
FORMATS DE FICHIER
• Les fichiers d’entrée sont stockés selon un format :
– Texte (plain, CSV, TSV, JSON…)
– Binaire KV (SequenceFile)
– Binaire Columnar (RCFile, Parquet, ORC)
• taille input record en mémoire = taille de l’input record stocké sur HDFS/
“largeur” du tuple d’entrée
• Pour optimiser la mémoire et le CPU il est possible de ne récupérer qu’un sous-
ensemble des records stockés sur les DataNode : format columnar
• Il existe plusieurs formats columnar :
– RCFile
– Parquet
– ORCFile
• Plus d’informations sur ma présentation au dernier meetup ParisDataGeek
11
12. PHASE MAP: OPTIMISER LA COLLECTE DES
DONNÉES TRAITÉES
• Lorsque les données ont été traitées par la fonction map,
elles sont stockées dans un buffer temporaire avant
d’être écrites sur disque
– Les données sur disque doivent être préparées pour les
reducers : partitionnées, triées et potentiellement compressées.
– Pour éviter des I/O inutiles, ces traitements se font en mémoire
• Si le buffer est trop petit pour recevoir l’ensemble du
dataset, les données sont flushées partiellement sur le
disque
– Selon un ratio : io.sort.factor=10
– Selon la taille du buffer : io.sort.mb=256
• Solutions
– Augmenter la taille du buffer
– Réduire le ratio des meta-data
– Augmenter le nombre de mappers
• Ces paramètres sont à modifier suite à l’exécution de vos
jobs
12
13. SPILLING EN DÉTAIL
• En réalité le Spilling est un
Partition/Sort/Merge sur disque
13
14. PHASE MAP: OPTIMISER L’ENVOI DES
DONNÉES AUX REDUCERS
• Compression
– mapred.compress.map.output : spécifier si les fichiers intermédiaires, résultats de
map, doivent être compressés.
• Combiners
– Lorsque les mappers ont traité les différents tuples, les résultats sont stockés en
mémoire avant d’être écrits sur disque
– En prenant pour exemple « WordCount », les mappers ne génèrent qu’une série de
tuples du type (« clef » -> 1), (« clef » -> 1), (« clef » -> 1)…
– Si la clef en question est présente de nombreuses fois, le tuple est dupliqué et la taille
(et le nombre) des fichiers augmentent impact sur les I/O réseau
– Solution : utiliser un combiner
• Peut être la fonction reduce (dans le cas de WordCount)
• Ou un autre aggrégat
• Partitionnement
– Pour que les reducers puissent traiter des données de manière performante
(algorithmes linéaires), les données sont triées et partitionnées par clef aux reducers
– Il est donc important de choisir sa clef de partitionnement afin d’avoir une distribution
uniforme des données aux reducers
• Des reducers ou mappers en wait = des ressources bloquées sur le cluster =
des jobs en retard !!!!!
• REDUIRE LES I/O
14
15. PHASE REDUCE
• Les fichiers d’entrées sont partitionnés pour les reducers
– Une clef est assignée à chaque reducer (pour travailler avec des fichiers
provenant de différents mappers)
– C’est pour cela que les combiners et la compression de fichiers sont
importants : ils permettent de réduire le trafic réseau
Etapes :
• Shuffle : récupérer les fichiers produits par les mappers (en réalité
c’est ce sens là)
• Merge : fusionner les fichiers d’entrée déjà triés afin de produire
l’ensemble de données d’entrée
• Reduce : appliquer la fonction de réduction (ex : group by,
somme, moyenne…)
• Write : écrire les résultats finaux sur disque
15
16. PHASE REDUCE : OPTIMISER LA LECTURE DES
FICHIERS D’ENTRÉE
• Les fichiers d’entrée sont récupérés depuis les emplacements
locaux aux mappers charge réseau à prévoir
– Combiners
– Compression
– Partitionnement
• Pour accélérer la récupération des fichiers pouvant être sur
plusieurs mappers (donc machines) différents : multithreading
16
17. PHASE REDUCE : OPTIMISER LE MERGE DES
FICHIERS D’ENTRÉE
• Les fichiers d’entrée sont récupérés et lus par le reducer
• Chaque input est traitée
– Soit en mémoire si le dataset tient
– Soit sur disque si le dataset est supérieur
• Les fichiers sont lus de telle manière à garder l’ordre afin
d’appliquer la fonction de reduce de manière linéaire (Big-O(n))
• De la même manière que lors de l’étape de map, le reducer peut
faire du spilling
– Lorsque la mémoire est trop chargée, les données sont flushées sur
disque et mergées entre elles
• Pour éviter le spilling : io.sort.factor
17
18. PHASE REDUCE : OPTIMISER L’ECRITURE DES
FICHIERS FINAUX
• Partition key (distribute by xxx in Hive)
– pour les reducers
• Car les data sont distribuées par clefs dans les reducers
– si un reducer travaille sur plusieurs partitions
• plusieurs RecordWriters problème de performance
• L’idée est donc de dédier les reducer à l’écriture sur une seule
partition
18
19. TUNING JVM
• Réutiliser la JVM
– Temps d’initialisation de la JVM à prendre en compte
• Heap
• JIT
• …
• Heap management
– Dimensionner correctement la heap
• Attention au GC
19
20. OPTIMISATIONS HIVE/CASCADING
• Mapjoins/Hashjoins :
– S’assurer que l’ensemble utilisé pour la jointure tient effectivement en mémoire
• UNION ALL/GROUP BY plutôt que d’utiliser des LEFT JOIN : moins de jobs générés
– Hive peut lancer plusieurs jobs pour une requête
• Sacrifier le temps d’exécution d’un job pour améliorer le temps de requêtage dans Hive
20
23. CLUSTER MANAGEMENT
YARN
• La partie stockage ne bouge pas mais le
JobTracker disparaît au profit d’une nouvelle
architecture
Composants :
• Resource Manager
• Application Manager
• Scheduler
• Embarqué dans Hadoop 2
– Possibilité de l’utiliser hors d’Hadoop mais quelques
fonctions sont manquantes (ex : API de communication
avec les executors)
23
24. CLUSTER MANAGEMENT
APACHE MESOS
• « Resource offer » : CPU, RAM…
• Le master Mesos propose une quantité de
ressources à un framework à exécuter en fonction
de :
– Politiques d’organisation
– Fair scheduling
– Priorité
• Il est aussi possible d’étendre via plugins (à
développer) le système de mise à disponibilité de
ressources
• Côté développeur : définir les tasks et leurs
ressources nécessaire pour le framework scheduler
– API : JAVA/Scala, Python, C++…
• Utilisable avec Hadoop mais aussi avec n’importe
quel type de frameworks (ex : Spark)
24
25. LE PLUS IMPORTANT : LE
MONITORING/PROFILING
• JobTracker
– Possibilité de définir ses propres compteurs pour
debug
• Ganglia
• Nagios/Centreon : monitoring bas niveau (CPU,
RAM, I/O disque, I/O réseau…)
• Starfish : optimisation de la configuration
Hadoop (ex : mapred-site.xml) après analyse
des logs de jobs
25
26. PETITS CONSEILS
• Si vos data tiennent en RAM… EVITEZ HADOOP !!!!
• Si vos data peuvent tenir en RAM sur peu de machines… EVITEZ HADOOP
– Spark
– Gigaspaces (lol… go Spark)
• En gros… tant que vous pouvez, évitez Hadoop
• Pour des requêtes qui ne prennent que peu de temps, évitez de lancer des jobs MR ou Hive ou autre…
– Le temps d’initialisation des mappers et reducers est très long…
• Et surtout : ME-SU-REZ !!!!
– Il est très difficile d’anticiper les paramètres de configuration du cluster
– Chaque job est différent si le dataset d’entrée n’est pas le même (ou si le job créé des data supplémentaires, cf. EXPLODE)
26
27. QUESTIONS ?
We can talk about…
#hadoop
27
#scalding
#scala#sharks
#summingbird
#performance
#mechanical-sympathy
#hive #cascading
#JVM