Hadoop Tutoriel PDF
Hadoop Tutoriel PDF
Hadoop Tutoriel PDF
Les commentaires et les propositions sont les bienvenus alors n'hésitez pas !
Tutoriel Hadoop par Miha Ahronovitz - Kuldip Pabla
-2-
Copyright ® 2014 thecloudtutorial.com. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://big-data.developpez.com/tutoriels/cloud/hadoop-debuter/
Tutoriel Hadoop par Miha Ahronovitz - Kuldip Pabla
Hadoop est un système distribué, tolérant aux pannes, pour le stockage de données et qui est hautement scalable.
Cette capacité de monter en charge est le résultat d'un stockage en cluster à haute bande passante et répliqué,
connu sous l'acronyme de HDFS (Hadoop Distributed File System) et d'un traitement distribué spécifique et robuste
connu sous le nom de MapReduce.
Hadoop traite et analyse une multitude de nouvelles et anciennes données pour en extraire de la connaissance
significative sur les opérations commerciales.
Concrètement les données sont déplacées vers un nœud de calcul. Puis Hadoop va traiter la donnée là où elle se
trouve.
• l'analyse des événements - quelles séries d'étapes mènent à un achat ou à une signature ;
• l'analyse de clics sur des flux web à grande échelle ;
• l'assurance des revenus et l'optimisation des prix ;
• la gestion des risques financiers ;
• et beaucoup d'autres…
Le cluster Hadoop ou cloud est innovateur dans l'architecture du SI. Certains gestionnaires de ressources (en grid)
peuvent être intégrés avec Hadoop. Le principal avantage est que les traitements Hadoop peuvent être soumis et
ordonnancés à l'intérieur même du datacenter.
-3-
Copyright ® 2014 thecloudtutorial.com. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://big-data.developpez.com/tutoriels/cloud/hadoop-debuter/
Tutoriel Hadoop par Miha Ahronovitz - Kuldip Pabla
III - Quels sont les types de données que nous traitons aujourd'hui
Les données générées par les personnes conviennent bien aux tables relationnelles ou aux tableaux. Les exemples
sont les transactions classiques - achat / vente, stocks / production, changement de statut d'emploi, etc.
Ce sont les données de base gérées par des SGBD relationnels. Dans la dernière décennie, les humains ont généré
d'autres types de données comme le texte, les documents (texte ou autres), les photos, les vidéos… Les bases de
données relationnelles traditionnelles sont inadaptées à ce type de données, car :
• ces données sont souvent composées d'opinions ou de jugements - des notions qui ne sont pas
suffisamment précises ;
• ces données sont à prendre dans leur intégralité, ce qui représente un volume important ;
• ces données ne donneront pas de résultats de requête précis et incontestables : différentes personnes auront
des opinions différentes sur ce que l'on appelle de bons résultats ;
• il n'y a pas de réponses binaires claires et précises, les documents peuvent avoir des degrés de pertinence
différents.
Un autre type de données est la donnée générée par la machine, machine qui a été créée par l'être humain et qui
produit des flux de données qu'il n'est plus possible d'arrêter. Ci-dessous quelques types de données.
1 Logs informatiques.
2 Télémétrie par satellite (espionnage ou science).
3 GPS.
4 Capteurs de température et d'environnement.
5 Capteurs industriels.
6 Vidéos des caméras de surveillance.
7 Dispositifs médicaux.
8 Capteurs sismiques et géophysiques.
9 ...
-4-
Copyright ® 2014 thecloudtutorial.com. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://big-data.developpez.com/tutoriels/cloud/hadoop-debuter/
Tutoriel Hadoop par Miha Ahronovitz - Kuldip Pabla
Selon Gartner, les données de l'entreprise vont croître de 650 % d'ici 2014. 85 % de ces données seront des « données
non structurées », et ce segment a un taux de croissance annuel moyen de 62 % par an, taux bien plus important
que les données transactionnelles classiques.
Netflix (NASDAQ: NFLX) est une offre de service en ligne de location de DVD et Blu-ray par correspondance et
de streaming vidéo aux États-Unis. Elle a plus de 100.000 titres et 10 millions d'abonnés. La société dispose de
55 millions de disques et envoie en moyenne 1,9 million de DVD à ses clients chaque jour. Netflix offre aussi du
streaming vidéo sur Internet, permettant la visualisation de films directement sur PC ou sur un téléviseur à la maison.
L'algorithme de recommandation de films de Netflix utilise Hive (qui s'appuie sur Hadoop, HDFS et MapReduce) pour
le traitement des requêtes et de la Business Intelligence. Netflix recueille tous les logs du site web qui sont collectés
en streaming à l'aide d'Hunu.
Ils analysent 0.6 TB de données sur Amazon S3 via 50 nœuds. Toutes les données sont traitées pour la Business
Intelligence à l'aide du logiciel MicroStrategy.
Concrètement, Hadoop a été fait pour les développeurs. Mais l'adoption à grande échelle et le succès de Hadoop
dépendent des utilisateurs professionnels, pas des développeurs.
Des distributions commerciales devront rendre encore plus facile l'utilisation d'Hadoop pour les utilisateurs finaux.
Des langages simples de scripts sont déjà disponibles pour commencer, mais s'éloigner du scripting sera l'objectif à
long terme pour atteindre le segment des utilisateurs. On n'y est pas encore. Néanmoins Cloudera essaye de gagner
le segment des utilisateurs professionnels, et s'il réussit, ils créera un nouveau marché de Hadoop pour l'entreprise.
Pour mieux illustrer cela, voici une citation de l'équipe de développement Yahoo Hadoop :
«La façon dont Yahoo! utilise Hadoop est en train de changer. Auparavant, la plupart des utilisateurs Hadoop de
Yahoo! étaient des chercheurs. Les chercheurs sont généralement gourmands d'évolutions et de fonctionnalités,
mais ils ne sont pas regardants sur les pannes. Peu de scientifiques savent même ce que « SLA » (ndt: Service
Level Agrement, ou contrat de qualité de service) signifie et ils n'ont pas l'habitude de compter la durée de bon
fonctionnement des services. Aujourd'hui, de plus en plus d'applications de production de Yahoo! ont migré sur
Hadoop. Ces applications critiques contrôlent tous les aspects du fonctionnement de Yahoo!, de la personnalisation
de l'expérience utilisateur à l'optimisation du placement d'annonces. Elles tournent 24/7, et traitent plusieurs téraoctets
de données par jour. Elles ne doivent pas planter. Nous sommes donc à la recherche d'ingénieurs logiciels qui veulent
nous aider à vérifier que Hadoop fonctionne bien pour Yahoo! et les nombreux utilisateurs Hadoop en dehors de
Yahoo! »
-5-
Copyright ® 2014 thecloudtutorial.com. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://big-data.developpez.com/tutoriels/cloud/hadoop-debuter/
Tutoriel Hadoop par Miha Ahronovitz - Kuldip Pabla
On peut prendre, par exemple, Oracle Grid Engine 6.2 Update 5. Cycle Computing a également annoncé une
intégration avec Hadoop. Il réduit le coût de l'exécution d'applications Apache Hadoop en permettant de partager
des ressources avec d'autres applications du datacenter, plutôt que d'avoir à maintenir un cluster dédié pour
exécuter des applications Hadoop. Voici une citation d'un client concerné :
« Le logiciel Grid Engine a considérablement réduit pour nous le coût du traitement intensif des données avec
Hadoop. Avec sa compréhension native de la localisation des données sur HDFS et le support de soumission
de travaux Hadoop, Grid Engine permet d'exécuter des tâches Hadoop exactement dans le même environnement
d'ordonnancement que nous utilisons pour des tâches traditionnelles de travaux en parallèle. Avant nous étions
obligés de consacrer certains clusters à ce genre de travail ou de faire usage de schémas d'intégration alambiqués,
des solutions qui sont à la fois coûteuses à entretenir et inefficaces à long terme. Maintenant, nous avons le meilleur
des deux mondes : une grande flexibilité dans un seul système de planification, cohérent et solide. ».
Hadoop est une implémentation open source des algorithmes de MapReduce et d'un système de fichiers distribué.
Hadoop est principalement développé en Java. De toute évidence l'écriture d'une application Hadoop en Java vous
donnera beaucoup plus de contrôle et probablement de meilleures performances. Cependant, Hadoop peut aussi
être utilisé dans d'autres langages, y compris des langages de script en utilisant ce qu'on appelle le «streaming» :
on lit simplement des données depuis l'entrée standard stdin et on écrit sur la sortie stdout.
Pour installer Hadoop, vous aurez besoin de télécharger Hadoop Common (aussi appelé Hadoop Core) sur http://
hadoop.apache.org/common/. Les binaires sont disponibles en Open Source sous licence Apache. Une fois que
vous l'avez téléchargé, suivez les instructions d'installation et de configuration.
Si vous n'avez aucune expérience avec Hadoop, il existe un moyen plus facile pour installer et expérimenter Hadoop.
Plutôt que d'installer une copie locale de Hadoop, installez une machine virtuelle de Yahoo!. Cette machine virtuelle
est livrée avec Hadoop préinstallé et préconfiguré et est prête à l'emploi. La machine virtuelle est disponible à partir
de leur tutoriel Hadoop. Ce tutoriel comprend des instructions bien documentées pour l'exécution de la machine
virtuelle et l'exécution d'applications Hadoop. La machine virtuelle, en plus d'Hadoop, comprend Eclipse IDE pour
écrire des applications Java basées sur Hadoop.
X - Cluster Hadoop
Par défaut, les distributions Hadoop sont configurées pour fonctionner sur une seule machine et la machine virtuelle
Yahoo est un bon moyen pour commencer. Cependant, la puissance de Hadoop est sa nature même de traitement
et de stockage distribués et le déploiement d'une telle architecture distribuée sur une seule machine n'est pas très
probant. Pour tout traitement sérieux avec Hadoop, vous aurez besoin de beaucoup plus de machines. Elastic
Compute Cloud d'Amazon (EC2) est parfait pour cela. Une alternative à l'exécution Hadoop sur EC2 est d'utiliser
la distribution Cloudera. Et bien sûr, vous pouvez créer votre propre cluster Hadoop en suivant les instructions
Apache.
Il existe une grande communauté active de développeurs qui a créé de nombreux langages de script tels que HBase,
Hive, Pig, etc. Cloudera propose une distribution avec support.
-6-
Copyright ® 2014 thecloudtutorial.com. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://big-data.developpez.com/tutoriels/cloud/hadoop-debuter/
Tutoriel Hadoop par Miha Ahronovitz - Kuldip Pabla
XI - Remerciements
Nous remercions également jacques_jean et ok.Idriss pour leurs relectures attentives et assidues.
Ce tutoriel est une traduction de l'article « Hadoop Tutorial » de Miha Ahronovitz et Kuldip Pabla (Ahrono & Associates)
dont l'original est disponible à cette adresse : http://thecloudtutorial.com/hadoop-tutorial.html.
-7-
Copyright ® 2014 thecloudtutorial.com. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
http://big-data.developpez.com/tutoriels/cloud/hadoop-debuter/