introduction à hadoop

39
© 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!

Upload: mathieu-dumoulin

Post on 14-Jun-2015

1.244 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction à Hadoop

© 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!

Page 2: Introduction à Hadoop

© 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

Page 3: Introduction à Hadoop

© Fujitsu Canada

Plan de match

Introduction au Big DataIntroduction à HadoopDétails techniquesÉcosystème et principaux joueursConclusion

3

Page 4: Introduction à Hadoop

© Fujitsu Canada

Plan de match

Introduction au Big DataDéfinitionUse CasesProblèmes et Solution

Introduction à HadoopDétails techniquesÉcosystème et principaux joueursConclusion

4

Page 5: Introduction à Hadoop

© 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

Page 6: Introduction à Hadoop

© 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

Page 7: Introduction à Hadoop

© 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

Page 8: Introduction à Hadoop

© 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

Page 9: Introduction à Hadoop

© 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

Page 10: Introduction à Hadoop

© 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

Page 11: Introduction à Hadoop

© 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

Page 12: Introduction à Hadoop

© 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

Page 13: Introduction à Hadoop

© Fujitsu Canada

Problème…

13

Page 14: Introduction à Hadoop

© 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

Page 15: Introduction à Hadoop

© 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

Page 16: Introduction à Hadoop

© Fujitsu Canada

Maintenant? Hadoop et Fujitsu à Québec

Valcartier

Plateforme Fujitsu BDPP Développement de capacité

16

Page 17: Introduction à Hadoop

© 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

Page 18: Introduction à Hadoop

© Fujitsu Canada

Plan de match

Introduction au Big DataIntroduction à HadoopDétails techniques

Traitement DistribuéHDFSMapReduce

Écosystème et principaux joueursConclusion

18

Page 19: Introduction à Hadoop

© Fujitsu Canada

Le matériel… de Future Shop?!

19

Page 20: Introduction à Hadoop

© 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

Page 21: Introduction à Hadoop

© Fujitsu Canada

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

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

21

Page 22: Introduction à Hadoop

© Fujitsu Canada

MapReduce: Exemple

22

Page 23: Introduction à Hadoop

© 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

Page 24: Introduction à Hadoop

© Fujitsu Canada

Hadoop: les principaux joueurs

24

Page 25: Introduction à Hadoop

© Fujitsu Canada

Le monde Hadoop en 2012

25

Page 26: Introduction à Hadoop

© 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.

Page 27: Introduction à Hadoop

© 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

Page 28: Introduction à Hadoop

© 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

Page 29: Introduction à Hadoop

© 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

Page 30: Introduction à Hadoop

© 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

Page 31: Introduction à Hadoop

© 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

Page 32: Introduction à Hadoop

© 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

Page 33: Introduction à Hadoop

© 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

Page 34: Introduction à Hadoop

© 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

Page 35: Introduction à Hadoop

© 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

Page 36: Introduction à Hadoop

© 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

Page 37: Introduction à Hadoop

© Fujitsu Canada

Big Data = BI?

37

Page 38: Introduction à Hadoop

© Fujitsu Canada

Vos questions

38

Page 39: Introduction à Hadoop