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
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
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
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
• 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