Hadoop et Big Data: Un gros problème, une solution éléphantesque! Introduction aux concepts Big Data avec Hadoop Mathieu Dumoulin – Programme Big Data du Centre d’Innovation Fujitsu
Jun 20, 2015
Hadoop et Big Data:Un gros problème, une
solution éléphantesque!
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
2
Objectifs
Les enjeux
Les principaux joueurs de
l’industrie
3
Plan de match Introduction au Big Data Introduction à Hadoop Détails techniques Écosystème et principaux joueurs Conclusion
4
Plan de match Introduction au Big Data
◦ 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é
5
Définition du Big Data
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)
6
Big Data – Use Cases
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
7
Big Data – Use Cases
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
8
Big Data – Difficultés à grande échelle
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
9
Traiter des données à l’échelle du TB
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
10
Solutions Big Data
11
Plan de match Introduction au Big Data Introduction à Hadoop
◦ 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:
12
La solution de Google: MapReduce
13
Problème…
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
14
Heureusement
MapReduce
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
15
Hadoop – Un nouveau paradigme
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
applications16
Les forces
17
Plan de match Introduction au Big Data Introduction à Hadoop Détails techniques
◦ Traitement Distribué◦ HDFS◦ MapReduce
Écosystème et principaux joueurs Conclusion
18
Le matériel: PC « ordinaires »?!
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)
19
Un modèle de programmation simple◦ Généralisation de gabarits communs (patterns)
Idéal pour les problèmes « Embarrasingly Parallel »
20
21
MapReduce: Exemple
22
Plan de match 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
23
Hadoop: les principaux joueurs
24
Le monde Hadoop en 2012
• 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.25
Hadoop est utilisé en production
Une communauté active en pleine croissance◦ Plusieurs livres récents◦ Support commercial disponible (Cloudera, Hortonworks,
etc.)◦ Un nombre croissant d’outils complémentaires
26
L’écosystème Hadoop
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. 27
Hive et HCatalog
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
28
Apache Pig
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
29
Apache Mahout
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
30
Autres outils 1/2
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…
31
Autres outils 2/2
32
Plan de match Introduction au Big Data Introduction à Hadoop Détails techniques Écosystème et principaux joueurs Conclusion
◦ 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.)
33
Hadoop est prêt pour la production
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
34
Faiblesse de Hadoop
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!
35
En réponse aux faiblesses
36
Vos questions