Introduction aux concepts Big Data avec Hadoop
Mathieu Dumoulin – Programme Big Data du Centre d’Innovation Fujitsu
 Le Big Data - Problématique
 Une solution: Hadoop et MapReduce
 Vocabulaire et ecosystème
1
 Les enjeux
 Les principaux joueurs de l’industrie
2
 Introduction au Big Data
 Introduction à Hadoop
 Détails techniques
 Écosystème et principaux joueurs
 Conclusion
3

◦ Définition
◦ Use Cases
◦ Problèmes et Solution
 Introduction à Hadoop
 Détails techniques
 Écosystème et principaux joueurs
 Conclusion
 Big Data: Quand les données dépassent les
capacités de la BD conventionnelle. Une
approche alternative devient nécessaire pour
en retirer de la valeur (Edd Dumbill – O’Reilly).
 « dépassent »? Les 3 V de Gartner
◦ Volume
◦ Vélocité
◦ Variété
◦ Valeur
◦ Véracité
4
 Google: Indexer le web
◦ 850 TB en 2009, 100 PB en 2012
 Ventes en ligne: Analyse des ventes
◦ Orbitz a trouvé que les utilisateurs de Mac dépensent
20$ de plus par nuit d’hôtel que les utilisateurs
Windows.
◦ 80% des voyagistes sur Internet utilisent Hadoop
◦ Ebay est un utilisateur massif
 Ventes en ligne: Recommandations à l’usager
◦ Amazon, Facebook, LinkedIn
 Entreposage Cloud
◦ Amazon a plus de 1000 PB de données (1 Exabyte)
5
 Banques: Détection de fraudes
◦ Morgan Stanley, Zion
 Énergie: Recherche de nouveaux gisements,
optimisation
◦ Chevron, Exxon, etc.
◦ Positionnement d’éoliennes
◦ Jeux de données multi PB
 Vidéo: Analyse d’images
◦ Google Earth (70.5 TB – 2009)
◦ Skybox: analyse d’images satellite
6
 Besoin: conserver et traiter des données à l’échelle du
PB
◦ Architecture distribuée
◦ Une grappe de 1000+ nœuds, MTBF < 1 jour
◦ Toujours de quoi de brisé!
 Besoin: Entreposer des données résistant aux
défaillances
◦ Haute disponibilité (availability)
◦ Matériel efficace qui gère les défaillances automatiquement
 Besoin: Un framework logiciel résistant aux
défaillances
◦ Certaines tâches peuvent prendre plusieurs jours
7
 La performance d’un CPU n’est pas importante
◦ Le débit total de la grappe est le facteur critique
 Le matériel brise
◦ Impossible d’opérer une grappe de milliers de machines
sans avoir des défaillances diverses (réseau, HDD, etc.)
 Le matériel robuste est cher sans être parfait
◦ À très grande échelle, les bris sont inévitables.
◦ Pour un même prix, plus de travailleurs qui brisent plus
souvent seront plus performant
8
 Choix actuels – Ou il y a 2 ans
◦ Investissement supers ordinateurs
 nouvel achat / peut coûter plus que ça rapporte
◦ Perte de valeur
 Couper dans les données
 Couper sur le service
 Couper sur la qualité de service
Deux choix insatisfaisants
9
10
 Introduction au Big Data

◦ Google et MapReduce
◦ Entrée en scène de Hadoop
◦ Avantages clefs
 Détails techniques
 Écosystème et principaux joueurs
 Conclusion
 Confronté au problème en 2002-2003
◦ Une petite compagnie de 5 ans, peu de moyens
 Dean et Ghemawat conçoivent MapReduce:
◦ Librairie C++
◦ Transforme des milliers de PC ordinaires en une
grappe super robuste et performance
◦ Modèle de programmation simple et général
◦ Standardisation, évolutivité
 Utilisé par:
11
12
 2003 - 2004: Présentation de MapReduce et GFS
à la communauté scientifique
◦ 19th ACM Symposium on Operating Systems Principles, NY, 2003
◦ Sixth Symposium on Operating System Design and Implementation, San Francisco, 2004.
 2004: Nutch et Doug Cutting
◦ Implémente MapReduce et GFS pour son projet Nutch
 2006: Yahoo offre des ressources à Doug pour
développer MapReduce
13
MapReduc
e
GFS
 Traitement à grande échelle et haute
performance
◦ Peut évoluer de 10 nœuds à 10,000 nœuds
◦ Plus facile, gratuit, ouvert
 Efficace
◦ Puissance de computation CPU, mémoire
◦ Stockage sur disques local
 Nouveau
◦ De nouvelles fondations
 Actuel
◦ Presque tous les leaders du web 2.0
◦ La grande entreprise Fortune 500
14
 Une solution logicielle
 Ratio coût-puissance intéressant
 Évolutif
◦ On peut toujours ajouter des nœuds pour
plus de capacités
 Computation
 Stockage
 Général
◦ S’applique à une variété de problèmes utiles
◦ Programmation parallèle simplifiée
 Pas de barrières pour commencer
◦ Pas de schéma ou de design requis.
◦ Charger des fichiers « raw » et lancer une
applications
15
16
 Introduction au Big Data
 Introduction à Hadoop

◦ Traitement Distribué
◦ HDFS
◦ MapReduce
 Écosystème et principaux joueurs
 Conclusion
17
 Excellente Capacité de montée en charge
◦ Fichiers fragmentés sur du matériel PC commun, efficace et peu
dispendieux
 Fiabilité automatisée
◦ Chaque bloc répliqué 3 fois, automatisé, balancement de charge
◦ Le maître (namenode) a une double (hot spare)
18
 Un modèle de programmation simple
◦ Généralisation de gabarits communs (patterns)
 Idéal pour les problèmes « Embarrasingly Parallel »
19
20
21
 Introduction au Big Data
 Introduction à Hadoop
 Détails techniques
 Écosystème et principaux joueurs
◦ Principaux joueurs de l’industrie
◦ Qui utilise Hadoop aujourd’hui?
◦ L’écosystème Hadoop
 Pig, Hive, Mahout, Oozie, sqoop, etc.
 Conclusion
22
23
• Yahoo! – Supporter AdSystems et leur
moteur de recherche Web
• Linkedin – Prédictions pour “People You
May Know”
• New York Times – Archives des articles et
images, conversion au format PDF
• UNC Chapel Hill – Applications
bioinformatique (séquençage génomique,
etc.)
• Visa – Détection de fraude
• Autres: Amazon/A9, AOL, Baidu,
Facebook, etc.
24
 Une communauté active en pleine croissance
◦ Plusieurs livres récents
◦ Support commercial disponible (Cloudera, Hortonworks,
etc.)
◦ Un nombre croissant d’outils complémentaires
25
 Apache Hive: Infrastructure de
Data Warehouse pour Hadoop
◦ Permet de faire des requêtes SQL
 Traduire SQL → MapReduce
◦ Formats: texte, Hbase, etc.
◦ Permet d’utiliser des UDF
◦ Inventé par Facebook
 HCatalog
◦ Répertoire de schéma et types
partagé
◦ Permet l’interopérabilité entre
Hive, Pig, MapReduce, etc.
26
 Développé à Yahoo Research en
2006
 Pig Latin: le langage Pig
 Créer et exécuter des tâches
MapReduce de façon ad-hoc
 Orienté « flot de données »
 Haut niveau
 Une approche plus
« programmeur » que Hive
◦ Procédural mais déclaratif
◦ Extensible par UDF en Java ou
python
27
 Une librairie Java pour
l’apprentissage automatique
(Machine Learning)
 Implanté avec Apache Hadoop
 Utilise la puissance d’une grappe
Hadoop automatiquement!
 Variété d’algorithmes de ML
◦ Recommendation
◦ Clustering
◦ Classification
 Développement très actif
◦ État de l’art du domaine
28
 Sqoop
◦ Importe/exporte des données d’une BD
automatiquement
 RDBS ↔ HDFS
◦ Exemple: une application web/mySQL
 Flume
◦ Collecter des données de sources et
importer dans HDFS
◦ Logs, feed twitter, etc.
 HBase
◦ Une base de donnée NoSQL (clef/valeur)
◦ Distribuée
◦ Sans limite pratique pour la taille des
tables
◦ Intégration avec Hadoop
29
 Oozie
◦ Orchestrer des séquences de tâches MapReduce
◦ Tâches oozie: un graphe orienté acyclique d’actions
◦ Peut être lancée par des évènements ou à un certain temps
 À l’ajout d’un fichier faire…
 À tous les jours à 3h00AM faire…
 Chukwa
◦ Système de collection de données distribué
◦ Opimiser Hadoop pour traiter des log
◦ Afficher, monitorer et analyser les fichiers log
 Et bien d’autres…
30
31
 Introduction au Big Data
 Introduction à Hadoop
 Détails techniques
 Écosystème et principaux joueurs

◦ Hadoop est prêt pour la production
◦ Faiblesses de Hadoop
◦ En réponse aux faiblesses
◦ Hadoop: En pleine évolution
◦ Vos questions
 Pas un remplacement
◦ Rends possible l’impossible
◦ De nouvelles façon de tirer de la valeur
 Économies
◦ Commencer petit, grandir avec les besoins
◦ Amazon Elastic MapReduce, Azure Hadoop
 Flexible et général
◦ Pas de format, pas de schéma
 Une technologie mature
◦ Utilisé par Google depuis 2003
◦ Hadoop en développement depuis 5 ans
◦ Beaucoup d’outils et de librairies
◦ Intégré par les outils BI (Datameer, Pentaho, IBM, etc.)
32
 Hadoop ne remplace pas les BD traditionnelles
◦ Pas de garantie ACID
 Pas tout à fait fiable à 100%
◦ Namenode: « Single point of failure »
 Hadoop est lent
◦ Données non-indexées
◦ Coût élevé pour E/S des données et lancement de tâche
◦ Optimisation de performance difficile
◦ Optimisé pour traitement batch
 Hadoop est difficile
◦ Un nouvel API à apprendre
◦ Peu d’outils de haut niveau, pas de GUI
◦ Pas pour les débutants, très difficile pour les analystes
33
 Utilisé de pair avec des BD
◦ Sqoop
 Utilisé comme BD
◦ Hive très proche de SQL
◦ connecteurs JDBC disponibles
◦ Alternative NoSQL (Hbase)
◦ Hawq, une vrai BD qui roule sur Hadoop
 Les distributions commerciales sont fiabilisées
◦ MapR, IBM, EMC, Cloudera, … Fujitsu BDPP
 Nouvelles technologies de « Streaming » pour
répondre aux requêtes ad-hoc
 Utiliser Pig et Hive pour simplifier le
développement
◦ C’est ce que Yahoo, Twitter et Facebook font!
34
35

Presentation Hadoop Québec

  • 1.
    Introduction aux conceptsBig Data avec Hadoop Mathieu Dumoulin – Programme Big Data du Centre d’Innovation Fujitsu
  • 2.
     Le BigData - Problématique  Une solution: Hadoop et MapReduce  Vocabulaire et ecosystème 1  Les enjeux  Les principaux joueurs de l’industrie
  • 3.
    2  Introduction auBig Data  Introduction à Hadoop  Détails techniques  Écosystème et principaux joueurs  Conclusion
  • 4.
    3  ◦ Définition ◦ UseCases ◦ Problèmes et Solution  Introduction à Hadoop  Détails techniques  Écosystème et principaux joueurs  Conclusion
  • 5.
     Big Data:Quand les données dépassent les capacités de la BD conventionnelle. Une approche alternative devient nécessaire pour en retirer de la valeur (Edd Dumbill – O’Reilly).  « dépassent »? Les 3 V de Gartner ◦ Volume ◦ Vélocité ◦ Variété ◦ Valeur ◦ Véracité 4
  • 6.
     Google: Indexerle web ◦ 850 TB en 2009, 100 PB en 2012  Ventes en ligne: Analyse des ventes ◦ Orbitz a trouvé que les utilisateurs de Mac dépensent 20$ de plus par nuit d’hôtel que les utilisateurs Windows. ◦ 80% des voyagistes sur Internet utilisent Hadoop ◦ Ebay est un utilisateur massif  Ventes en ligne: Recommandations à l’usager ◦ Amazon, Facebook, LinkedIn  Entreposage Cloud ◦ Amazon a plus de 1000 PB de données (1 Exabyte) 5
  • 7.
     Banques: Détectionde fraudes ◦ Morgan Stanley, Zion  Énergie: Recherche de nouveaux gisements, optimisation ◦ Chevron, Exxon, etc. ◦ Positionnement d’éoliennes ◦ Jeux de données multi PB  Vidéo: Analyse d’images ◦ Google Earth (70.5 TB – 2009) ◦ Skybox: analyse d’images satellite 6
  • 8.
     Besoin: conserveret traiter des données à l’échelle du PB ◦ Architecture distribuée ◦ Une grappe de 1000+ nœuds, MTBF < 1 jour ◦ Toujours de quoi de brisé!  Besoin: Entreposer des données résistant aux défaillances ◦ Haute disponibilité (availability) ◦ Matériel efficace qui gère les défaillances automatiquement  Besoin: Un framework logiciel résistant aux défaillances ◦ Certaines tâches peuvent prendre plusieurs jours 7
  • 9.
     La performanced’un CPU n’est pas importante ◦ Le débit total de la grappe est le facteur critique  Le matériel brise ◦ Impossible d’opérer une grappe de milliers de machines sans avoir des défaillances diverses (réseau, HDD, etc.)  Le matériel robuste est cher sans être parfait ◦ À très grande échelle, les bris sont inévitables. ◦ Pour un même prix, plus de travailleurs qui brisent plus souvent seront plus performant 8
  • 10.
     Choix actuels– Ou il y a 2 ans ◦ Investissement supers ordinateurs  nouvel achat / peut coûter plus que ça rapporte ◦ Perte de valeur  Couper dans les données  Couper sur le service  Couper sur la qualité de service Deux choix insatisfaisants 9
  • 11.
    10  Introduction auBig Data  ◦ Google et MapReduce ◦ Entrée en scène de Hadoop ◦ Avantages clefs  Détails techniques  Écosystème et principaux joueurs  Conclusion
  • 12.
     Confronté auproblème en 2002-2003 ◦ Une petite compagnie de 5 ans, peu de moyens  Dean et Ghemawat conçoivent MapReduce: ◦ Librairie C++ ◦ Transforme des milliers de PC ordinaires en une grappe super robuste et performance ◦ Modèle de programmation simple et général ◦ Standardisation, évolutivité  Utilisé par: 11
  • 13.
  • 14.
     2003 -2004: Présentation de MapReduce et GFS à la communauté scientifique ◦ 19th ACM Symposium on Operating Systems Principles, NY, 2003 ◦ Sixth Symposium on Operating System Design and Implementation, San Francisco, 2004.  2004: Nutch et Doug Cutting ◦ Implémente MapReduce et GFS pour son projet Nutch  2006: Yahoo offre des ressources à Doug pour développer MapReduce 13 MapReduc e GFS
  • 15.
     Traitement àgrande échelle et haute performance ◦ Peut évoluer de 10 nœuds à 10,000 nœuds ◦ Plus facile, gratuit, ouvert  Efficace ◦ Puissance de computation CPU, mémoire ◦ Stockage sur disques local  Nouveau ◦ De nouvelles fondations  Actuel ◦ Presque tous les leaders du web 2.0 ◦ La grande entreprise Fortune 500 14
  • 16.
     Une solutionlogicielle  Ratio coût-puissance intéressant  Évolutif ◦ On peut toujours ajouter des nœuds pour plus de capacités  Computation  Stockage  Général ◦ S’applique à une variété de problèmes utiles ◦ Programmation parallèle simplifiée  Pas de barrières pour commencer ◦ Pas de schéma ou de design requis. ◦ Charger des fichiers « raw » et lancer une applications 15
  • 17.
    16  Introduction auBig Data  Introduction à Hadoop  ◦ Traitement Distribué ◦ HDFS ◦ MapReduce  Écosystème et principaux joueurs  Conclusion
  • 18.
  • 19.
     Excellente Capacitéde montée en charge ◦ Fichiers fragmentés sur du matériel PC commun, efficace et peu dispendieux  Fiabilité automatisée ◦ Chaque bloc répliqué 3 fois, automatisé, balancement de charge ◦ Le maître (namenode) a une double (hot spare) 18
  • 20.
     Un modèlede programmation simple ◦ Généralisation de gabarits communs (patterns)  Idéal pour les problèmes « Embarrasingly Parallel » 19
  • 21.
  • 22.
    21  Introduction auBig Data  Introduction à Hadoop  Détails techniques  Écosystème et principaux joueurs ◦ Principaux joueurs de l’industrie ◦ Qui utilise Hadoop aujourd’hui? ◦ L’écosystème Hadoop  Pig, Hive, Mahout, Oozie, sqoop, etc.  Conclusion
  • 23.
  • 24.
  • 25.
    • Yahoo! –Supporter AdSystems et leur moteur de recherche Web • Linkedin – Prédictions pour “People You May Know” • New York Times – Archives des articles et images, conversion au format PDF • UNC Chapel Hill – Applications bioinformatique (séquençage génomique, etc.) • Visa – Détection de fraude • Autres: Amazon/A9, AOL, Baidu, Facebook, etc. 24
  • 26.
     Une communautéactive en pleine croissance ◦ Plusieurs livres récents ◦ Support commercial disponible (Cloudera, Hortonworks, etc.) ◦ Un nombre croissant d’outils complémentaires 25
  • 27.
     Apache Hive:Infrastructure de Data Warehouse pour Hadoop ◦ Permet de faire des requêtes SQL  Traduire SQL → MapReduce ◦ Formats: texte, Hbase, etc. ◦ Permet d’utiliser des UDF ◦ Inventé par Facebook  HCatalog ◦ Répertoire de schéma et types partagé ◦ Permet l’interopérabilité entre Hive, Pig, MapReduce, etc. 26
  • 28.
     Développé àYahoo Research en 2006  Pig Latin: le langage Pig  Créer et exécuter des tâches MapReduce de façon ad-hoc  Orienté « flot de données »  Haut niveau  Une approche plus « programmeur » que Hive ◦ Procédural mais déclaratif ◦ Extensible par UDF en Java ou python 27
  • 29.
     Une librairieJava pour l’apprentissage automatique (Machine Learning)  Implanté avec Apache Hadoop  Utilise la puissance d’une grappe Hadoop automatiquement!  Variété d’algorithmes de ML ◦ Recommendation ◦ Clustering ◦ Classification  Développement très actif ◦ État de l’art du domaine 28
  • 30.
     Sqoop ◦ Importe/exportedes données d’une BD automatiquement  RDBS ↔ HDFS ◦ Exemple: une application web/mySQL  Flume ◦ Collecter des données de sources et importer dans HDFS ◦ Logs, feed twitter, etc.  HBase ◦ Une base de donnée NoSQL (clef/valeur) ◦ Distribuée ◦ Sans limite pratique pour la taille des tables ◦ Intégration avec Hadoop 29
  • 31.
     Oozie ◦ Orchestrerdes séquences de tâches MapReduce ◦ Tâches oozie: un graphe orienté acyclique d’actions ◦ Peut être lancée par des évènements ou à un certain temps  À l’ajout d’un fichier faire…  À tous les jours à 3h00AM faire…  Chukwa ◦ Système de collection de données distribué ◦ Opimiser Hadoop pour traiter des log ◦ Afficher, monitorer et analyser les fichiers log  Et bien d’autres… 30
  • 32.
    31  Introduction auBig Data  Introduction à Hadoop  Détails techniques  Écosystème et principaux joueurs  ◦ Hadoop est prêt pour la production ◦ Faiblesses de Hadoop ◦ En réponse aux faiblesses ◦ Hadoop: En pleine évolution ◦ Vos questions
  • 33.
     Pas unremplacement ◦ Rends possible l’impossible ◦ De nouvelles façon de tirer de la valeur  Économies ◦ Commencer petit, grandir avec les besoins ◦ Amazon Elastic MapReduce, Azure Hadoop  Flexible et général ◦ Pas de format, pas de schéma  Une technologie mature ◦ Utilisé par Google depuis 2003 ◦ Hadoop en développement depuis 5 ans ◦ Beaucoup d’outils et de librairies ◦ Intégré par les outils BI (Datameer, Pentaho, IBM, etc.) 32
  • 34.
     Hadoop neremplace pas les BD traditionnelles ◦ Pas de garantie ACID  Pas tout à fait fiable à 100% ◦ Namenode: « Single point of failure »  Hadoop est lent ◦ Données non-indexées ◦ Coût élevé pour E/S des données et lancement de tâche ◦ Optimisation de performance difficile ◦ Optimisé pour traitement batch  Hadoop est difficile ◦ Un nouvel API à apprendre ◦ Peu d’outils de haut niveau, pas de GUI ◦ Pas pour les débutants, très difficile pour les analystes 33
  • 35.
     Utilisé depair avec des BD ◦ Sqoop  Utilisé comme BD ◦ Hive très proche de SQL ◦ connecteurs JDBC disponibles ◦ Alternative NoSQL (Hbase) ◦ Hawq, une vrai BD qui roule sur Hadoop  Les distributions commerciales sont fiabilisées ◦ MapR, IBM, EMC, Cloudera, … Fujitsu BDPP  Nouvelles technologies de « Streaming » pour répondre aux requêtes ad-hoc  Utiliser Pig et Hive pour simplifier le développement ◦ C’est ce que Yahoo, Twitter et Facebook font! 34
  • 36.