Hadoop and friends : introduction
-
Upload
fredcons -
Category
Technology
-
view
566 -
download
0
Transcript of Hadoop and friends : introduction
![Page 1: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/1.jpg)
Introduction à l'écosystème hadoop
![Page 2: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/2.jpg)
● Introduction● Composants de base du système● HDFS● MapReduce● Warnings ● L'écosystème● Usecases Ekino● Perspectives et liens
![Page 3: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/3.jpg)
Introduction
![Page 4: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/4.jpg)
Le contexte
● Croissance des volumes de données produits par les systèmes informatiques
● Réseaux sociaux, données scientifiques, capteurs
● Formes variées : texte structuré / non structuré, images
![Page 5: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/5.jpg)
Les usecases typiques
● Analyse de logs
● Business Intelligence
● Transformation de données, ETL-style
● Machine learning : moteurs de recommandations, détection de patterns
![Page 6: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/6.jpg)
Les limites techniques
● Les disques durs stockent de plus en plus de données, mais la vitesse d'accès reste la même
● La RAM disponible sur un serveur augmente, mais pas autant que la taille des datasets
● Si les données sont sur plusieurs serveurs, on augmente les capacités du système...
● Mais aussi les risques de panne hardware
![Page 7: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/7.jpg)
L'approche Hadoop
● Les données doivent être répliquées sur plusieurs disques, afin de pallier aux crashs hardware
● Les données doivent être réparties de façon à minimiser les accès réseaux
● Si on pousse le code vers les données , et pas l'inverse, on évite des transferts massifs de données
![Page 8: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/8.jpg)
Les origines d'Hadoop
● Au commencement, deux publications Google : ● The Google File System (GFS) : a scalable
distributed file system for large distributed data-intensive applications
● MapReduce: Simplified Data Processing on Large Clusters
● Ces systèmes décrivent la nouvelle infrastructure Google, et restent propriétaires.
![Page 9: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/9.jpg)
Les origines d'Hadoop
● Pendant ce temps là, Doug Cutting, créateur de Lucene et Nutch, cherche un framework pour distribuer les calculs de graphes Nutch
● Il implémente les principes de GFS et MapReduce dans
Nutch
● Il est embauché par Yahoo! pour poursuivre ces développements
● Yahoo donne Hadoop à la fondation Apache
![Page 10: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/10.jpg)
Composants de base du système
![Page 11: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/11.jpg)
Les composants Hadoop
● Hadoop se compose de deux systèmes : HDFS et MapReduce
● Cinq types de process vont gouverner ces systèmes
![Page 12: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/12.jpg)
Les composants : Namenode
● Le Namenode est le process qui pilote HDFS : il sait où sont stockées quelles données
● C'est lui qui orchestre les DataNodes
● Ce process est d'autant plus crucial que c'est aussi le SPOF du système
● Nécessite beaucoup de RAM
![Page 13: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/13.jpg)
Les composants : SecondaryNamenode
● Le SecondaryNamenode prends des snapshots des logs du Namenode à intervalles réguliers
● Ce n'est pas un backup du NameNode : il peut aider à récupérer des données et relancer un cluster, mais ça n'a rien d'automatique
![Page 14: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/14.jpg)
Les composants : Datanode
● Les Datanodes sont les noeuds sur lesquels résident les données
● Ce sont eux qui traduisent les blocks HDFS en
fichiers sur disque
● En communication constante avec le Namenode
![Page 15: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/15.jpg)
Les composants : JobTracker
● Le JobTracker pilote l'exécution des jobs sur le cluster
● C'est lui qui assigne les tâches aux TaskTrackers, et gèrent leur cycle de vie
● Il est également responsable de la gestion des erreurs, et de la relance des jobs
![Page 16: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/16.jpg)
Les composants : TaskTracker
● Les TaskTrackers exécute les jobs (Map et Reduce)
● Ils communiquent au JobTracker l'état des jobs
![Page 17: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/17.jpg)
Schéma généralSchéma général
Hadoop in Action, Manning
![Page 18: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/18.jpg)
Les fichiers de configuration
● Trois fichiers thématiques pour configurer son cluster : core-site.xml, hdfs-site.xml, mapred-site.xml
● Tous sont au même format : un ensemble de paires clés / valeurs
● Des centaines de propriétés sont configurables, une dizaine est vraiment importante
![Page 19: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/19.jpg)
Les fichiers de configuration
![Page 20: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/20.jpg)
Trois modes d'exécution
● Mode local : un seul process, utile pour debugger, mais très limité
● Mode pseudo-distribué : 5 JVM distinctes, une par process, sur une seule machine. Utile pour valider des développements dans des conditions de prod.
● Mode distribué : le « vrai » mode, pour la production.
● On passe de l'un à l'autre en switchant des properties
![Page 21: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/21.jpg)
Démarrer un cluster
● Le fichier slaves permet de définir les hosts sur lesquels tournent les datanodes / tasktrackers.
● Des scripts permettent de lancer HDFS et MapReduce simultanément ou séparément.
![Page 22: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/22.jpg)
HDFS
![Page 23: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/23.jpg)
Principes de HDFS
● L'unité de stockage de base est le Block (64Mb par défaut)
● Chaque block est répliqué sur plusieurs noeuds
● HDFS est fault-tolerant : si un noeud tombe, les
autres noeuds peuvent continuer à servir les fichiers
● RAID < JBOD (Just a Bunch Of Disks)
![Page 24: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/24.jpg)
Limites de HDFS
● HDFS est orienté batchs : pas adapté aux traitements online
● HDFS est orienté « write once, read many times » : pas de modifications arbitraires au milieu d'un fichier
● HDFS n'est pas fait pour stocker beaucoup de petits fichiers : trop de metadata à maintenir
![Page 25: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/25.jpg)
Features
● Supporte différents types de compressions : GZIP, BZ, LZO
● Filesystem manipulable via Java, C, Thrift
● Hadoop supporte également d'autres types de
filesystems : local, FTP, S3
● Le système calcule des checksums pour détecter toute corruption
![Page 26: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/26.jpg)
Exemples
![Page 27: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/27.jpg)
Types de fichiers
● On peut stocker des données sous forme de fichier texte standard
● Ou sous forme de fichier binaire optimisé pour MapReduce, compressable, splittable : le SequenceFile
● Existe aussi en version permettant des lookups : le MapFile
![Page 28: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/28.jpg)
Lire dans HDFS
Hadoop : The Definitive Guide, O'Reilly
![Page 29: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/29.jpg)
Ecrire dans HDFS
Hadoop : The Definitive Guide, O'Reilly
![Page 30: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/30.jpg)
Map Reduce
![Page 31: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/31.jpg)
Principes de MapReduce
● MapReduce n'est pas un langage, c'est un paradigme de programmation. L'idée est de découper un traitement de données en deux phases.
● La première phase est le Map : c'est là que l'on va
transformer les données en entrée
● La seconde phase est le reduce : on va y aggréger les résultats du Map
![Page 32: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/32.jpg)
Principes de MapReduce
● Le format de base des échanges entre map et reduce est la paire clé / valeur
● La sérialisation des objets est gérée par Hadoop, sous forme de Writable : pas de sérialisation Java native
● Hadoop fournit des types primitifs sérializables, mais on
peut bien sûr fournir ses propres types complexes
● La phase de shuffle, entre map et reduce, va partitionner les données par clé
![Page 33: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/33.jpg)
Principes de MapReduce
Hadoop : The Definitive Guide, O'Reilly
![Page 34: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/34.jpg)
Principes de MapReduce
● Map :
<k1, v1> → list(k2,v2)
● Reduce :
<k2, list(v2)> → list(k3,v3)
![Page 35: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/35.jpg)
Exemple : analyse de logs apache
● Entrées / sorties de Map : <LineNumber, LineContent> → list(URI,Count)
● Exemple d'entrée :
10.51.204.2 - - [28/Mar/2012:04:05:16 +0200] "GET /supervision.jsp HTTP/1.0" 200 2 "-" "HTTP-Monitor/1.1"
10.51.204.1 - - [28/Mar/2012:04:05:16 +0200] "GET /supervision.jsp HTTP/1.0" 200 2 "-" "HTTP-Monitor/1.1"
62.39.140.248 - - [28/Mar/2012:04:05:16 +0200] "GET / HTTP/1.1" 200 118580 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; ip-label)"
● Exemple de sortie/supervision.jsp 1
/supervision.jsp 1
/ 1
![Page 36: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/36.jpg)
Exemple : analyse de logs apache
● Entrées / sorties de Map : <URI, list(Count)> → list(URI,Count)
● Exemple d'entrée : /supervision.jsp 1
/supervision.jsp 1
/supervision.jsp 1
/ 1
/ 1
● Exemple de sortie/supervision.jsp 3
/ 2
![Page 37: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/37.jpg)
Eléments de base dans l'API Java
● Tout commence par la définition d'un Job, basé sur une Configuration, et sur des paramètres utilisateurs
![Page 38: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/38.jpg)
Eléments de base dans l'API Java
● On donne à ce job des implémentations de Mapper, Reducer, types des fichiers d'entrée et sortie , types des paramètres.
![Page 39: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/39.jpg)
Eléments de base dans l'API Java
● Le Mapper est très simple : on extrait l'url, et on « émet » un compteur de 1
![Page 40: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/40.jpg)
Eléments de base dans l'API Java
● Le Reducer additionne les valeurs obtenue pour une même clé.
● Hadoop propose pour ce type de Reducer le LongSumReducer.
![Page 41: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/41.jpg)
Eléments de base dans l'API Java
● Si on veut travailler sur des types non primitifs, on peut créer un WritableComparable
![Page 42: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/42.jpg)
Eléments de base dans l'API Java
● On utilise la commande hadoop pour lancer et paramétrer son job
![Page 43: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/43.jpg)
La Streaming API
● L'utilisation d'Hadoop n'est pas réservée aux jobs Java. Tout langage lisant STDIN / STDOUT peut se brancher sur la Streaming API : PHP, Ruby, Python...
● On va spécifier en paramètre les scripts à exécuter lors des phases de map et reduce
![Page 44: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/44.jpg)
La Streaming API : exemple en Ruby
![Page 45: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/45.jpg)
Warnings
![Page 46: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/46.jpg)
Savoir choisir le bon outil
● Parfois des outils standards peuvent suffire
● sed /grep / awk ● SGBD● bashreduce
![Page 47: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/47.jpg)
Complexité et coûts
● Hadoop est certes une solution open source nécessitant du hardware standard
● Mais les coûts de déploiement / monitoring restent élevés
● Et l'apprentissage est long....
![Page 48: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/48.jpg)
L'enfer des versions
● Le versioning d'Hadoop peut laisser perplexe
● Améliorations récentes
● Sortie de la v1.0● Packages Cloudera
![Page 49: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/49.jpg)
L'enfer des versions (en image)
● Le graphe des branches passées et en cours :
http://www.cloudera.com/blog/2012/01/an-update-on-apache-hadoop-1-0/
![Page 50: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/50.jpg)
Le client java
● L'API Java possède une ancienne version (deprecated puis un-deprecated), et une nouvelle version
● Beaucoup de méthodes statiques, API pas très intuitive
● Réaliser des joins ou du chainage de jobs est loin d'être trivial
![Page 51: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/51.jpg)
L'écosystème
![Page 52: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/52.jpg)
Un projet parmi d'autres
● Hadoop est utilisable seul, mais de nombreux projets externes facilitent son utilisation
● La plupart de ces librairies ont été développées puis opensourcées par de gros acteurs du web.
![Page 53: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/53.jpg)
Pig● Pig est un DSL qui permet de créer des jobs MapReduce
de manière beaucoup plus simple que l'API native
● Chaque script Pig va être traduit en jobs MapReduce qui vont s'exécuter séquentiellement ou en parallèle.
● Il s'agit de faciliter l'écriture et la lisibilité des jobs, au détriment de leur rapidité d'exécution
● Le DSL s'articule autour de macros comme LOAD, STORE, GROUP BY, COUNT, JOIN, qui rendent simples des tâches complexes à réaliser avec le client Java, et autour d'UDF, User Defined Functions écrites en Java
![Page 54: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/54.jpg)
Pig : exemple de script
![Page 55: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/55.jpg)
Pig : exemple d'UDF
![Page 56: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/56.jpg)
Sqoop
● Le but de Sqoop est de faciliter l'export / import de données entre HDFS et des bases de données externes.
![Page 57: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/57.jpg)
HBase
● Hbase est une base de données orientée colonnes, selon le design du système BigTable de Google
● C'est le seul système orienté temps réel de l'écosystème Hadoop : on peut exécuter des requêtes sans passer par des jobs MapReduce
● C'est un système extrêmement complexe
![Page 58: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/58.jpg)
Et les autres
● Hive : possibilité d'exécuter du sql enrichi sur HDFS
● Flume : framework utilisé pour alimenter HDFS
● Cascading : framework java à base de pipelines
● Avro : système de sérialisation, façon Thrift / ProtocolBuffers
● Mahout : algorithmes de machine learning distribuables
![Page 59: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/59.jpg)
Usecases Ekino
![Page 60: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/60.jpg)
Orange Business Services
● Le but : récolter des tweets et les liens associés, les organiser en catégories, et afficher des visualisations permettant de naviguer par thèmes / périodes
● Un tweet prend peu de place, mais si on récupère le contenu des liens, l'espace disque se réduit vite
● D'où le choix d'Hadoop pour stocker ces tweets et faire passer des jobs calculant des statistiques
![Page 61: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/61.jpg)
![Page 62: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/62.jpg)
Workflow des données
● Un démon est connecté à datasift, et écrit directement les tweets dans HDFS
● Des jobs Hadoop tournent toutes les heures pour calculer les compteurs par catégorie
● Avec Sqoop, on exporte ces résultats vers MySQL
![Page 63: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/63.jpg)
Workflow des données
![Page 64: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/64.jpg)
Perspectives
![Page 65: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/65.jpg)
Les améliorations à venir
● NameNode High Availability
● Nouveau système MapRecuce : YARN
● Meilleur mécanisme de scheduling
![Page 66: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/66.jpg)
Toujours plus de connexions
● Intégration à Microsoft Azure, Excel
● Toujours plus de produits intégrant Hadoop : ETL, bases de données
● Plus de facilité pour provisionner / monitorer un cluster
● Les innovations à venir seront probablement issues d'acteurs commerciaux : Cloudera, Hortonworks
![Page 67: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/67.jpg)
Pour en savoir plus
![Page 68: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/68.jpg)
Les papiers Google
● GFS : http://research.google.com/archive/gfs.html
● MapReduce :http://research.google.com/archive/mapreduce.html
![Page 69: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/69.jpg)
Quelques bons tutorials
● http://developer.yahoo.com/hadoop/tutorial/
● http://hadoop.apache.org/common/docs/current/mapred_tutorial.html
● http://radar.oreilly.com/2011/06/getting-started-with-hadoop.html
![Page 70: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/70.jpg)
Hadoop chez les grands noms du web
● Twitter : http://www.slideshare.net/kevinweil/hadoop-pig-and-twitter-nosql-east-2009
● LinkedIn : http://engineering.linkedin.com/hadoop/user-engagement-powered-apache-pig-and-hadoop
● Facebook : http://www.royans.net/arch/hive-facebook/
● Les plans de Microsoft : http://www.slideshare.net/bradsa/apache-hadoop-for-windows-server-and-windwos-azure
![Page 71: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/71.jpg)
Des blogs à suivre
● http://nosql.mypopescu.com/tagged/hadoop
● http://www.cloudera.com/blog
● http://hortonworks.com/blog/
![Page 72: Hadoop and friends : introduction](https://reader034.fdocuments.net/reader034/viewer/2022052621/557dcfbed8b42a4c238b478e/html5/thumbnails/72.jpg)
?????