Upload
mathieu-dumoulin
View
1.244
Download
0
Embed Size (px)
Citation preview
© Fujitsu Canada
Introduction aux concepts Big Data avec Hadoop
Mathieu Dumoulin – Programme Big Data du Centre d’Innovation Fujitsu
Hadoop et Big Data:Un gros problème, une solution éléphantesque!
© Fujitsu Canada
Objectifs
Le Big Data - Problématique
Une solution: Hadoop et MapReduce
Vocabulaire et ecosystème
2
Les enjeux
Les principaux joueurs de l’industrie
© Fujitsu Canada
Plan de match
Introduction au Big DataIntroduction à HadoopDétails techniquesÉcosystème et principaux joueursConclusion
3
© Fujitsu Canada
Plan de match
Introduction au Big DataDéfinitionUse CasesProblèmes et Solution
Introduction à HadoopDétails techniquesÉcosystème et principaux joueursConclusion
4
© Fujitsu Canada
Définition du Big Data
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
© Fujitsu Canada
Big Data – Use Cases
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
© Fujitsu Canada
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
© Fujitsu Canada
Big Data – Difficultés à grande échelle
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
© Fujitsu Canada
Traiter des données à l’échelle du TB
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
© Fujitsu Canada
Solutions Big Data
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
© Fujitsu Canada
Plan de match
Introduction au Big DataIntroduction à Hadoop
Google et MapReduce Entrée en scène de HadoopAvantages clefs
Détails techniquesÉcosystème et principaux joueursConclusion
11
© Fujitsu Canada
La solution de Google: MapReduce
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
© Fujitsu Canada
Problème…
13
© Fujitsu Canada
Heureusement
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
MapReduce
GFS
© Fujitsu Canada
Hadoop – Un nouveau paradigme
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
© Fujitsu Canada
Maintenant? Hadoop et Fujitsu à Québec
Valcartier
Plateforme Fujitsu BDPP Développement de capacité
16
© Fujitsu Canada
Les forces
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
17
© Fujitsu Canada
Plan de match
Introduction au Big DataIntroduction à HadoopDétails techniques
Traitement DistribuéHDFSMapReduce
Écosystème et principaux joueursConclusion
18
© Fujitsu Canada
Le matériel… de Future Shop?!
19
© Fujitsu Canada
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)
20
© Fujitsu Canada
Un modèle de programmation simple Généralisation de gabarits communs (patterns)
Idéal pour les problèmes « Embarrasingly Parallel »
21
© Fujitsu Canada
MapReduce: Exemple
22
© Fujitsu Canada
Plan de match
Introduction au Big DataIntroduction à HadoopDétails techniquesÉcosystème et principaux joueurs
Principaux joueurs de l’industrieQui utilise Hadoop aujourd’hui?L’écosystème Hadoop
• Pig, Hive, Mahout, Oozie, sqoop, etc.
Conclusion
23
© Fujitsu Canada
Hadoop: les principaux joueurs
24
© Fujitsu Canada
Le monde Hadoop en 2012
25
© Fujitsu Canada
Hadoop est utilisé en production
26
• 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.
© Fujitsu Canada
L’écosystème Hadoop
Une communauté active en pleine croissance Plusieurs livres récents Support commercial disponible (Cloudera, Hortonworks, etc.) Un nombre croissant d’outils complémentaires
27
© Fujitsu Canada
Hive et HCatalog
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.
28
© Fujitsu Canada
Apache Pig
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
29
© Fujitsu Canada
Apache Mahout
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
• Latent Dirichlet• Random Forest
30
© Fujitsu Canada
Autres outils 1/2
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
31
© Fujitsu Canada
Autres outils 2/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…
32
© Fujitsu Canada
Plan de match
Introduction au Big DataIntroduction à HadoopDétails techniquesÉcosystème et principaux joueursConclusion
Hadoop est prêt pour la productionFaiblesses de HadoopEn réponse aux faiblessesHadoop: En pleine évolutionVos questions
33
© Fujitsu Canada
Hadoop est prêt pour la production
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.)
34
© Fujitsu Canada
Faiblesse de Hadoop
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
35
© Fujitsu Canada
En réponse aux faiblesses
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!
36
© Fujitsu Canada
Big Data = BI?
37
© Fujitsu Canada
Vos questions
38