Presentation Hadoop Québec

Post on 20-Jun-2015

782 views 1 download

Tags:

description

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

Transcript of 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

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