SlideShare une entreprise Scribd logo
1 
Benoît de CHATEAUVIEUX 
Tél : +33 (0)1 58 56 10 00 
Fax : +33 (0)1 58 56 10 01 
Hadoop 
50, avenue des Champs-Elysées 
75008 Paris - FRANCE 
© OCTO 2014 www.octo.com 
Twitter: @benchato
2 
L’histoire d’Hadoop 
Le principe et l’architecture d’Hadoop 
Un filesystem: HDFS 
Un framework (historique) de traitements distribués: MapReduce 
Quelques composants de l’écosystème 
Démo MapReduce 
Démo Hive 
Présentation Ambari 
De quoi allons nous parler ?
3 
Démos sur Hortonworks Data Platform 
VM pré-cablée pour tester Hadoop 
http://hortonworks.com/products/hortonworks-sandbox/
4 
Présentation d’Hadoop – Qu’est ce que c’est ? 
Solution Open Source Big Data fournissant un socle 
Distribué 
Stockage 
Traitement 
Scalable 
Scalabilité linéaire 
Stockage local  Rapide et peu cher 
SAN  2-10$ / Go 
NAS  1-5$/ Go 
Local  0.05$ / Go 
Clusters de « commodity hardware » 
Open Source pour éviter le « vendor lock-in »
5 
Historique Hadoop
6 
Pour les systèmes décisionnels, Hadoop s’impose 
comme l’architecture de référence sur la marché 
Open •Apache Hadoop 
Source 
•Cloudera 
•Hortonworks 
•MapR 
Pure 
Players 
•Greenplum (Pivotal) 
•IBM InfoSphere BigInsights (CDH) 
•Oracle Big data appliance (CDH) 
•NetApp Analytics (CDH) 
•… 
Editeurs 
•Amazon Elastic MapReduce 
•Microsoft Azure HDInsight (HW) 
•Hadoop on Google GCP 
Cloud 
publique 
De nombreuses 
solutions d’entreprise 
souvent construites autour d’Hadoop
7 
Hortonworks Data Platform
8 
HDFS: Hadoop Distributed File System
9 
Les composants d’Hadoop – HDFS 
Système de fichiers distribué 
Scalable horizontalement (ajout de noeuds) 
Tolérant aux pannes grâce à la réplication intelligente des blocs (128Mo) 
Un noeud HDFS sur chaque DataNode du cluster 
HDFS est optimisé 
Pour le stockage de gros fichiers en nombre réduit (< 1M de fichiers) 
Pour la lecture en bloc de ces fichiers (« full scan »)  Pas de Random Access 
Déposer, naviguer, télécharger, supprimer des fichiers 
CLI ou interface web 
Le NameNode maintient la liste des fichiers et de ses blocs 
Analogue à la FAT d’un système de fichiers classique
10 
Les composants d’Hadoop – Un cluster HDFS 
RÉSEAU LOCAL 
Name node Data node 
file1 #1 
file2 #2 
Client 
HDFS 
Data node 
file1 #1 
file1 #2 
file2 #1 
Data node 
file2 #2 
file1 #2 
file2 #1 
/file1 
1 2 
/file2 
1 2 
RACK 1 RACK 2 
Console web
11 
MapReduce
12 
Framework de programmation 
MapReduce 
Parallélisation automatique des jobs Hadoop. 
Gestion transparente du mode distribué  agréable pour le développeur ! 
MapReduce = 2 fonctions 
map() 
 convertir une donnée en entrée en une série de paires clé/valeur 
et reduce() 
 appliquer un traitement à l'ensemble des valeurs trouvées pour une clé 
 Ie: consolider les données issues du Mapper 
Map Reduce est un framework 
 Structurant en terme de développement / conception 
 Il faut rentrer dans le paradigme
13 
Data node 
Task tracker Task tracker Task tracker 
file1 #1 
Data node 
file1 #2 
Data node 
file1 #3 
Client 
MR 
Data node 
Job tracker 
Name node 
Présentation d’Hadoop – Map Reduce
14 
Principe fondamental d’Hadoop 
Le traitement est envoyé 
là où réside la donnée
15 
Data node 
Task tracker Task tracker Task tracker 
file1 #1 
Data node 
file1 #2 
Data node 
file1 #3 
Mapper 
Reducer 
Mapper 
Reducer 
Mapper 
Data node 
Job tracker 
Name node 
Shuffle & sort 
Client 
MR 
Présentation d’Hadoop – Map Reduce
16 
Exemple de MapReduce 
Les Mapper 
-lisent leur bloc ligne par ligne 
-découpent les lignes en mot 
-envoient ces mots aux Reducers 
La phase de Shuffle & Sort 
-combine les paires qui ont la même clé 
-trie 
Les Reducers 
-somment les 1 
-envoient vers la sortie (HDFS) la liste des 
mots et le compte associé
17 
API native en Java 
Bas niveau 
Comment créer un job Map Reduce ? 
Rapide 
Beaucoup de contrôle 
Parfois complexe à utiliser pour des tâches complexes (ex: joins) 
Trois éléments essentiels 
Mapper : classe contenant la méthode map() 
Reducer : classe contenant la méthode reduce() 
Driver : classe contenant la méthode main() et configurant le job 
Il est aussi possible d’écrire des jobs Map Reduce 
indépendamment du langage (Shell, Python, Ruby…) grâce à 
l’API Streaming Hadoop
18 
Démo MapReduce
19 
Déroulement
20 
Le repertoire de travail
21
22
23
24
25
26
27 
YARN : Le système d’opération Hadoop
28 
YARN: Avant - Après
29 
Explosion de l’écosystème
30 
Explosion de l’écosystème
31 
Requêtage SQL sur Hadoop (HiveQL) 
Apache Hive 
Permet d’accéder simplement aux données 
Ouvre Hadoop aux habitués du SQL 
Propose des drivers ODBC pour brancher des outils externes (Tableau, etc.) 
Origine: 
Facebook (90%+ des job Hadoop de Facebook sont générés avec Hive) 
Les requêtes HiveQL sont compilés en jobs MapReduce 
Lenteur importante (aujourd’hui: pas interactif mais batch) 
Faibles performances + Marché très important des BD SQL 
 Forte concurrence 
Impala (Cloudera) 
Spark SQL 
Hortonworks de son côté pousse la communauté vers l’optimisation (Stinger)
32 
Le projet Stinger d’Hortonworks
33 
Démo Hive
34
35
36
37
38 
Ambari
39 
Continuer à explorer l’écosystème 
HBase 
Streaming (Storm, …) 
… 
Optimisation Hadoop (jobs MapReduce, etc.) 
Industrialiser le déploiement de son cluster 
Chef/Puppet 
Capistrano 
… 
Pour aller plus loin

Contenu connexe

PPTX
Hadoop et son écosystème
PDF
Hadoop MapReduce - OSDC FR 2009
PDF
Hadoop Introduction in Paris
PDF
Hadoop and friends : introduction
PPTX
Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData
PDF
HADOOP + R
PDF
Tech day hadoop, Spark
PPTX
Introduction à Hadoop
Hadoop et son écosystème
Hadoop MapReduce - OSDC FR 2009
Hadoop Introduction in Paris
Hadoop and friends : introduction
Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData
HADOOP + R
Tech day hadoop, Spark
Introduction à Hadoop

Tendances (20)

PPTX
MapReduce: Traitement de données distribué à grande échelle simplifié
PDF
Hadoop Hbase - Introduction
PPTX
Stats web avec Hive chez Scoop.it
PPTX
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
PDF
BigData_Chp2: Hadoop & Map-Reduce
PPTX
Presentation Hadoop Québec
PDF
Spark (v1.3) - Présentation (Français)
PDF
Big Data, Hadoop & Spark
PDF
BigData_TP1: Initiation à Hadoop et Map-Reduce
PDF
BigData_TP3 : Spark
PDF
Une introduction à Hive
PDF
Annexe Big Data
PDF
Cours Big Data Chap2
PDF
BigData_Chp5: Putting it all together
PDF
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
PDF
Hadoop
PPTX
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
PDF
Big Data : Une Introduction
PDF
Hortonwork
PDF
Une introduction à HBase
MapReduce: Traitement de données distribué à grande échelle simplifié
Hadoop Hbase - Introduction
Stats web avec Hive chez Scoop.it
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
BigData_Chp2: Hadoop & Map-Reduce
Presentation Hadoop Québec
Spark (v1.3) - Présentation (Français)
Big Data, Hadoop & Spark
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP3 : Spark
Une introduction à Hive
Annexe Big Data
Cours Big Data Chap2
BigData_Chp5: Putting it all together
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
Hadoop
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Big Data : Une Introduction
Hortonwork
Une introduction à HBase
Publicité

En vedette (20)

PPTX
Présentation Big Data et REX Hadoop
PDF
Enquête RegionsJob : emploi et réseaux sociaux, deuxième édition
PDF
Bases de données NoSQL
PDF
Big Data Analytics for connected home
PDF
Une introduction à MapReduce
PPTX
NoSql : conception des schémas, requêtage, et optimisation
PPTX
Présentation pfe Big Data Hachem SELMI et Ahmed DRIDI
PPT
Hadopp Vue d'ensemble
PDF
Introduction à HDFS
PDF
Un introduction à Pig
PPTX
Architectures techniques NoSQL
PDF
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
PDF
Valtech - Du BI au Big Data, une révolution dans l’entreprise
PDF
Big Data : concepts, cas d'usage et tendances
PPTX
Big data - Cours d'introduction l Data-business
PDF
Les BD NoSQL
PDF
BigData_Chp3: Data Processing
PDF
BigData_Chp4: NOSQL
PDF
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
PDF
BigData_Chp1: Introduction à la Big Data
Présentation Big Data et REX Hadoop
Enquête RegionsJob : emploi et réseaux sociaux, deuxième édition
Bases de données NoSQL
Big Data Analytics for connected home
Une introduction à MapReduce
NoSql : conception des schémas, requêtage, et optimisation
Présentation pfe Big Data Hachem SELMI et Ahmed DRIDI
Hadopp Vue d'ensemble
Introduction à HDFS
Un introduction à Pig
Architectures techniques NoSQL
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Valtech - Du BI au Big Data, une révolution dans l’entreprise
Big Data : concepts, cas d'usage et tendances
Big data - Cours d'introduction l Data-business
Les BD NoSQL
BigData_Chp3: Data Processing
BigData_Chp4: NOSQL
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
BigData_Chp1: Introduction à la Big Data
Publicité

Similaire à Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop (20)

PPTX
Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )
PDF
Plongée dans la plateforme hadoop
PPTX
Hadoop
PPTX
Chapitre2_Hadoop_MapReduce----------------.pptx
DOCX
Résumkbjnnbuhb.jhyhuhuhhhhhhhhhhhhhhhhhhhhhhhé.docx
PDF
Cours_de_Big_Data_LF2_IG_EbhkjbhkhfhSB.pdf
PPTX
Présentation_HADOOP.pptx
PDF
Techday Arrow Group: Hadoop & le Big Data
PPTX
10 big data hadoop
PPTX
10 big data hadoop
TXT
Aqui hadoop draft
PDF
ch2-hadoop-L3-2023-4p (1).pdf
PDF
Afterwork hadoop
PDF
chp
PDF
598262625-Presentation-D-HADOooooooOP.pdf
PDF
Chapitre-2-Le-Big-Data-Hadoop-HDFS-et-MapReduce.pdf
PDF
Distributed programing (hadoop &amp;&amp; java) version finale.pptx
PDF
Hadoop et son écosystème - v2
PDF
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )
Plongée dans la plateforme hadoop
Hadoop
Chapitre2_Hadoop_MapReduce----------------.pptx
Résumkbjnnbuhb.jhyhuhuhhhhhhhhhhhhhhhhhhhhhhhé.docx
Cours_de_Big_Data_LF2_IG_EbhkjbhkhfhSB.pdf
Présentation_HADOOP.pptx
Techday Arrow Group: Hadoop & le Big Data
10 big data hadoop
10 big data hadoop
Aqui hadoop draft
ch2-hadoop-L3-2023-4p (1).pdf
Afterwork hadoop
chp
598262625-Presentation-D-HADOooooooOP.pdf
Chapitre-2-Le-Big-Data-Hadoop-HDFS-et-MapReduce.pdf
Distributed programing (hadoop &amp;&amp; java) version finale.pptx
Hadoop et son écosystème - v2
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf

Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop

  • 1. 1 Benoît de CHATEAUVIEUX Tél : +33 (0)1 58 56 10 00 Fax : +33 (0)1 58 56 10 01 Hadoop 50, avenue des Champs-Elysées 75008 Paris - FRANCE © OCTO 2014 www.octo.com Twitter: @benchato
  • 2. 2 L’histoire d’Hadoop Le principe et l’architecture d’Hadoop Un filesystem: HDFS Un framework (historique) de traitements distribués: MapReduce Quelques composants de l’écosystème Démo MapReduce Démo Hive Présentation Ambari De quoi allons nous parler ?
  • 3. 3 Démos sur Hortonworks Data Platform VM pré-cablée pour tester Hadoop http://hortonworks.com/products/hortonworks-sandbox/
  • 4. 4 Présentation d’Hadoop – Qu’est ce que c’est ? Solution Open Source Big Data fournissant un socle Distribué Stockage Traitement Scalable Scalabilité linéaire Stockage local  Rapide et peu cher SAN  2-10$ / Go NAS  1-5$/ Go Local  0.05$ / Go Clusters de « commodity hardware » Open Source pour éviter le « vendor lock-in »
  • 6. 6 Pour les systèmes décisionnels, Hadoop s’impose comme l’architecture de référence sur la marché Open •Apache Hadoop Source •Cloudera •Hortonworks •MapR Pure Players •Greenplum (Pivotal) •IBM InfoSphere BigInsights (CDH) •Oracle Big data appliance (CDH) •NetApp Analytics (CDH) •… Editeurs •Amazon Elastic MapReduce •Microsoft Azure HDInsight (HW) •Hadoop on Google GCP Cloud publique De nombreuses solutions d’entreprise souvent construites autour d’Hadoop
  • 8. 8 HDFS: Hadoop Distributed File System
  • 9. 9 Les composants d’Hadoop – HDFS Système de fichiers distribué Scalable horizontalement (ajout de noeuds) Tolérant aux pannes grâce à la réplication intelligente des blocs (128Mo) Un noeud HDFS sur chaque DataNode du cluster HDFS est optimisé Pour le stockage de gros fichiers en nombre réduit (< 1M de fichiers) Pour la lecture en bloc de ces fichiers (« full scan »)  Pas de Random Access Déposer, naviguer, télécharger, supprimer des fichiers CLI ou interface web Le NameNode maintient la liste des fichiers et de ses blocs Analogue à la FAT d’un système de fichiers classique
  • 10. 10 Les composants d’Hadoop – Un cluster HDFS RÉSEAU LOCAL Name node Data node file1 #1 file2 #2 Client HDFS Data node file1 #1 file1 #2 file2 #1 Data node file2 #2 file1 #2 file2 #1 /file1 1 2 /file2 1 2 RACK 1 RACK 2 Console web
  • 12. 12 Framework de programmation MapReduce Parallélisation automatique des jobs Hadoop. Gestion transparente du mode distribué  agréable pour le développeur ! MapReduce = 2 fonctions map()  convertir une donnée en entrée en une série de paires clé/valeur et reduce()  appliquer un traitement à l'ensemble des valeurs trouvées pour une clé  Ie: consolider les données issues du Mapper Map Reduce est un framework  Structurant en terme de développement / conception  Il faut rentrer dans le paradigme
  • 13. 13 Data node Task tracker Task tracker Task tracker file1 #1 Data node file1 #2 Data node file1 #3 Client MR Data node Job tracker Name node Présentation d’Hadoop – Map Reduce
  • 14. 14 Principe fondamental d’Hadoop Le traitement est envoyé là où réside la donnée
  • 15. 15 Data node Task tracker Task tracker Task tracker file1 #1 Data node file1 #2 Data node file1 #3 Mapper Reducer Mapper Reducer Mapper Data node Job tracker Name node Shuffle & sort Client MR Présentation d’Hadoop – Map Reduce
  • 16. 16 Exemple de MapReduce Les Mapper -lisent leur bloc ligne par ligne -découpent les lignes en mot -envoient ces mots aux Reducers La phase de Shuffle & Sort -combine les paires qui ont la même clé -trie Les Reducers -somment les 1 -envoient vers la sortie (HDFS) la liste des mots et le compte associé
  • 17. 17 API native en Java Bas niveau Comment créer un job Map Reduce ? Rapide Beaucoup de contrôle Parfois complexe à utiliser pour des tâches complexes (ex: joins) Trois éléments essentiels Mapper : classe contenant la méthode map() Reducer : classe contenant la méthode reduce() Driver : classe contenant la méthode main() et configurant le job Il est aussi possible d’écrire des jobs Map Reduce indépendamment du langage (Shell, Python, Ruby…) grâce à l’API Streaming Hadoop
  • 20. 20 Le repertoire de travail
  • 21. 21
  • 22. 22
  • 23. 23
  • 24. 24
  • 25. 25
  • 26. 26
  • 27. 27 YARN : Le système d’opération Hadoop
  • 28. 28 YARN: Avant - Après
  • 29. 29 Explosion de l’écosystème
  • 30. 30 Explosion de l’écosystème
  • 31. 31 Requêtage SQL sur Hadoop (HiveQL) Apache Hive Permet d’accéder simplement aux données Ouvre Hadoop aux habitués du SQL Propose des drivers ODBC pour brancher des outils externes (Tableau, etc.) Origine: Facebook (90%+ des job Hadoop de Facebook sont générés avec Hive) Les requêtes HiveQL sont compilés en jobs MapReduce Lenteur importante (aujourd’hui: pas interactif mais batch) Faibles performances + Marché très important des BD SQL  Forte concurrence Impala (Cloudera) Spark SQL Hortonworks de son côté pousse la communauté vers l’optimisation (Stinger)
  • 32. 32 Le projet Stinger d’Hortonworks
  • 34. 34
  • 35. 35
  • 36. 36
  • 37. 37
  • 39. 39 Continuer à explorer l’écosystème HBase Streaming (Storm, …) … Optimisation Hadoop (jobs MapReduce, etc.) Industrialiser le déploiement de son cluster Chef/Puppet Capistrano … Pour aller plus loin

Notes de l'éditeur

  • #2: Merci Nabil pour cette intro aux BD Graph A mon tour, je vais vous faire une intro à Hadoop L’idée n’est pas de vous présenter en détail cette plateforme assez complexe mais de comprendre le principe et l’archi et coder ensemble un job
  • #5: Commodity => Boites à Pizza au lieu de gros serveur IBM Power System Vendor LockIn => enorme customisation Hadoop chez les géants du web
  • #6: En 2002, Doug Cutting - créateur de Lucene - veut créer un moteur de recherche web open-source sur la base de Lucene.  Projet Nutch En 2003, Google publie le WP « GFS », en 2004 Doug porte Nutch sur NDFS En 2004: Google publie le papier « MapReduce », en 2005, Doug migre complètement Nutch sur MR En 2006, Doug sort le projet de Lucene et invente le nom (éléphant de son fils) Même année, recruté par Yahoo! (en 2008, Yahoo! = cluster Hadoop de 10.000 nœuds) Maintenant Cutting est chez Cloudera et président de Apache SF + histoire HW
  • #7: Les alliances Intel-Cloudera-MongoDB Intel a investi 740 millions $ dans Cloudera et souhaite en faire la plateforme de facto de l’IoT Intel a aussi investi dans MongoDB Hortonworks-Teradata-Microsoft-SAP Partenariats « revendeurs » et « techniques » Cavaliers seuls: Pivotal  mais fait partie de la fédération EMC avec VMWare, etc. IBM
  • #8: Core Hadoop = HDFS, YARN, MR, Console web & Cli Slide = HDP mais alternatives Scheduling = Azkaban Au dessus de HDFS = Hbase HDP inclus Ambari  Cloudera propose Cloudera Manager (plus mature et complet mais propriétaire) Déploiement sur Linux/Windows (beau partenariat MS/HW: HDP sur Windows – MS contribue en OSS avec son background BI, etc.) HA dispo sans techno externe depuis la 2.0 ====================== Zookeeper: Gère tout ce qui demande unesynchronisation dans le cluster Verrous : dans la base de données Hbase par exemple Notification d’évènement Haute dispo HDFS
  • #11: On a 2 fichiers (le orange et le vert) qui sont divisés en blocs (de 128 Mo) Chaque bloc est déployé (intelligemment) sur un le cluster et répliqué (indice de réplication = 3 par défaut. Dans cet exemple = 2) => Dans cet exemple, on peut perdre 1/3 des nœuds du cluster sans perdre de données /* NameNode = SPOF Hadoop 1 : Linux HA / Wmware Vsphere Hadoop 2 : Actif/Passif – NameMode en hot standby + service de journal */
  • #12: On en parle car: MapReduce a été l’unique moyen de faire de processing sur Hadoop jusqu’à YARN Une grande partie des BD NoSQL intègre une implem MR (ex: MongoDB…)
  • #13: Switch de mindset (procédural  objet) Avec un peu d’astuce on peut traiter énormément de pb en MR (mais il faut apprendre à penser MR) Ex: Choses faciles en SGBDR mais Faire des jointures en Map Reduce n’est pas trivial
  • #14: On a notre Cluster: nameNode + DataNode et donnée distribuée Le client soumet un job au JobTracker Le jobTracker distribue le job sur les différents nœuds du cluster ou se trouve la donnée
  • #15: Vous vous souvenez de l’intro au Big Data ?  Le goulet c’est le I/O
  • #16: Les mappers prennent la donnée en entrée, la convertisse au format clé/valeur (+traitement additionnel si besoin) S&S: Se charge de trier les données en sortie des Mapper (en fonction de leur clé) + distribuer vers les Reducer Ils vont diriger tous les enregistrements qui ont la même clé (en provenance de tous les mapper) vers le même reducer Ex: je compte les mots d’un énorme fichier Le fichier est découpé en bloc et les Mapper ont chacun un bloc. Ils le traitent ligne par ligne A chaque fois q’un des mapper verra le mot A, il l’enverra vers le Reducer 1 A chaque fois q’un des mapper verra le mot B, il l’enverra vers le Reducer 2  A la fin de la phase de Map, Le Reducer 1 aura reçu toutes les instances du mot A remontées par tous les Mappers Le Reducer applique le traitement (somme, statistique, etc.)  Il consolide les données issues du Mapper Remarque: Exemple avec 2 reducers. On peut en avoir 1 seul ou même 0 (les Mapper écrivent directement la sortie)
  • #17: Le wordCount, c’est le Hello World du MapReduce ! MR découpe le fichier en splits et passe les splits au mapper Les mappers lisent leur split ligne par ligne, découpent les mots et passent la sortie au Reducer La phase de S&S combine les paires qui ont la même clé et trie Les reducers font la somme des 1
  • #29: YARN, en tant que Fwk, leur a ouvert l’accès à la plateforme Un OS au dessus d’HDFS YARN permet d’aller au-delà du batch et ne plus passer par MR pour attaquer HDFS mapreduce comme paradigme de développement / pattern d'accès à la data (scripts à deux phases, Map et reduce). en dessous tu as le moteur d'exécution qui peut être mapreduce, ou tez
  • #39: Localhost:8080