Presentation Hadoop Québec

36
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

description

Introduction à Hadoop et à l'écosystème Hadoop. Remise en contexte et survol des concepts fondamentaux.

Transcript of Presentation Hadoop Québec

Page 1: Presentation Hadoop Québec

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

Page 2: Presentation Hadoop Québec

Le Big Data - Problématique

Une solution: Hadoop et MapReduce

Vocabulaire et ecosystème

2

Objectifs

Les enjeux

Les principaux joueurs de

l’industrie

Page 3: Presentation Hadoop Québec

3

Plan de match Introduction au Big Data Introduction à Hadoop Détails techniques Écosystème et principaux joueurs Conclusion

Page 4: Presentation Hadoop Québec

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

Page 5: Presentation Hadoop Québec

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

Page 6: Presentation Hadoop Québec

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

Page 7: Presentation Hadoop Québec

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

Page 8: Presentation Hadoop Québec

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

Page 9: Presentation Hadoop Québec

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

Page 10: Presentation Hadoop Québec

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

Page 11: Presentation Hadoop Québec

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

Page 12: Presentation Hadoop Québec

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

Page 13: Presentation Hadoop Québec

13

Problème…

Page 14: Presentation Hadoop Québec

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

Page 15: Presentation Hadoop Québec

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

Page 16: Presentation Hadoop Québec

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

Page 17: Presentation Hadoop Québec

17

Plan de match Introduction au Big Data Introduction à Hadoop Détails techniques

◦ Traitement Distribué◦ HDFS◦ MapReduce

Écosystème et principaux joueurs Conclusion

Page 18: Presentation Hadoop Québec

18

Le matériel: PC « ordinaires »?!

Page 19: Presentation Hadoop Québec

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

Page 20: Presentation Hadoop Québec

Un modèle de programmation simple◦ Généralisation de gabarits communs (patterns)

Idéal pour les problèmes « Embarrasingly Parallel »

20

Page 21: Presentation Hadoop Québec

21

MapReduce: Exemple

Page 22: Presentation Hadoop Québec

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

Page 23: Presentation Hadoop Québec

23

Hadoop: les principaux joueurs

Page 24: Presentation Hadoop Québec

24

Le monde Hadoop en 2012

Page 25: Presentation Hadoop Québec

• 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

Page 26: Presentation Hadoop Québec

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

Page 27: Presentation Hadoop Québec

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

Page 28: Presentation Hadoop Québec

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

Page 29: Presentation Hadoop Québec

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

Page 30: Presentation Hadoop Québec

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

Page 31: Presentation Hadoop Québec

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

Page 32: Presentation Hadoop Québec

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

Page 33: Presentation Hadoop Québec

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

Page 34: Presentation Hadoop Québec

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

Page 35: Presentation Hadoop Québec

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

Page 36: Presentation Hadoop Québec

36

Vos questions