Hadoop, une technologie en plein essor

, Partager

1. Introduction

Le Big Data [1] va révolutionner dans les prochaines années les pratiques de nombreuses entreprises. Ce phénomène, dénommé ainsi pour la première fois en 2008 par le cabinet d’études Gartner, fait référence à l’augmentation sans précédent du volume de données hétérogènes générées par des sources très diverses. La rapidité de leurs échanges ainsi que leur accessibilité et disponibilité sont également des points structurant du Big Data.

L’opportunité d’établir des corrélations a priori non instinctives entre des informations hétérogènes est très précieuse pour les entreprises. Elles peuvent par exemple cibler davantage leurs clients en croisant différentes données à leur sujet (âge, positionnement géographique, etc.). Néanmoins, elles doivent veiller à ne pas être submergées par ce déluge de données très variées. En effet, le Big Data implique un changement radical des techniques habituelles d’analyse, de stockage et de visualisation des données. Les entreprises doivent donc s’adapter afin de tirer le meilleur parti des ressources technologiques qu’elles ont à leur disposition.

Hadoop est aujourd’hui un des outils les plus pertinents pour répondre aux enjeux posés par le Big Data que sont le stockage et le traitement de données. Conçu en 2004 par Doug Cutting, ancien élève de Stanford et fondateur du moteur de recherche open source Nutch, Hadoop est un projet Open Source géré par Apache Software Fundation. Ecrit en langage Java, Hadoop permet de stocker des grandes quantités de données et de les analyser. [2]

2. Fonctionnement technique

Hadoop est un framework informatique largement inspiré par deux produits Google. Le premier est le Google File System (GFS) : un système de fichiers distribués propriétaire conçu initialement par Google pour répondre aux besoins de stockage de données de leurs applications [3]. Le second est le Map Reduce, patron d’architecture informatique popularisé par Google afin d’effectuer des calculs en parallèle. [4]

Hadoop s’appuie fortement sur ces deux piliers afin de proposer un outil performant pour la gestion du Big Data. Mais comment fonctionne Hadoop exactement ?

2.1. Hadoop Distributed File System (HDFS)

Tout d’abord, les données structurées mais également non-structurées venant de sources très variées (média sociaux, données de connexion, Internet, appareils connectés) sont stockées par l’intermédiaire du HDFS. Le HDFS scinde les données en entrée en plusieurs blocs. Elles sont ensuite répliquées sur les noeuds du réseau. L’objectif est de pouvoir conserver une copie des données en cas de défaillance d’un des noeuds.

Le système de données HDFS est particulièrement adapté au stockage de données non structurées dans la mesure où il s’agit d’un système de gestion de base de données non-relationnelle.


Fonctionnement du Hadoop Distributed File System
Crédits : MS&T


2.2. Description de l’architecture Hadoop

Une fois la logique de stockage de données détaillée, intéressons nous maintenant à l’architecture générale de Hadoop avec laquelle interagit directement le client. Elle est constituée de quatre éléments majeurs [5] :
=> Le Job Tracker (le gestionnaire de tâche) : il initie et coordonne les requêtes de Map/Reduce
=> Le Task Tracker (le moniteur de tâches) : il permet d’exécuter les ordres de Map/Reduce et de lire les blocs de données à partir des Data Node
=> Le Name Node (nom de noeud) : il renseigne le client sur l’emplacement des données à compiler pour la requête et le prévient si un noeud de données est défaillant
=> Le Secondary Node (noeud secondaire) : il s’agit d’une copie, répliquée périodiquement, du Name Node dans le cas ou celui-ci serait défaillant. Cet élément n’avait pas été développe à l’origine mais il fait parti aujourd’hui de la plupart des architectures Hadoop en service.
=> Le Data Node (noeud de données) : il gère les blocs de données et les restitue aux clients (on en compte un grand nombre dans un réseau Hadoop).

2.3. Fonctionnement du Map/Reduce dans cette architecture

Le client envoie une requête Map, souvent écrite en Java, au Job Tracker. Celui-ci fait alors appel au Name Node pour savoir quelles données il doit utiliser pour exécuter la requête du client et où celles-ci se trouvent. Une fois que le Name Node lui a répondu, le Job Tracker adresse par l’intermédiaire des Tasks Trackers la requête aux bons Data Nodes. Plutôt que de centraliser les données et de compiler ultérieurement, la structure Hadoop compile directement les données au niveau de chaque noeud, et c’est là la caractéristique principale d’Hadoop. Une fois le travail effectué, les résultats sont stockés.

Ensuite, le client effectue une requête Reduce qui permet d’agréger les résultats et de fournir au client la réponse à sa requête originelle. Les "réponses" du Map/Reduce peuvent ensuite être téléchargées et mise à la disposition des Data Scientists (architecte et analyste de données) pour effectuer davantage d’analyse. Par ailleurs, les résultats du Map/Reduce peuvent également être extraits vers des bases de données relationnelles plus classiques afin de poursuivre l’analyse.


Architecture d’Hadoop
Crédits : MS&T


3. Avantages et inconvénients de Hadoop

La technologie Hadoop, bien que très en vogue et de plus en plus utilisée, ne fait pas l’unanimité. En effet, certains obstacles constituent un vrai frein pour certaines entreprises [6] :
=> Presence d’un Single Point of Failure. Bien qu’à l’heure actuelle une très grande partie des architectures Hadoop en service ait développé un Secondary Name Node, la structure originelle n’en contenait pas. Cela constituait un risque en cas de défaillance du Name Node responsable de l’archivage des données.
=> Difficulté d’intégration avec d’autres systèmes informatiques. Si le transfert de données d’une structure Hadoop vers des bases de données traditionnelles est possible (cf. partie II), il n’en reste pas moins que cette opération est loin d’être une tâche triviale.
=> Absence de sécurité. Dans sa version initiale, Hadoop ne disposait pas de fonctionnalités de sécurité garantissant un déploiement sans risque.
=> Administration complexe d’Hadoop. Alors que la plupart des bases de données utilisent du SQL ou d’autres langages informatiques standardisés, Hadoop utilise son propre langage. Si une entreprise veut tirer profit de Hadoop, elle doit donc développer une expertise spécifique d’Hadoop en interne ou en faisant appel à un prestataire extérieur. Ce facteur est actuellement celui qui freine le plus son adoption.
=> Traitement de données différé. Hadoop n’est pas une plateforme faite pour l’analyse temps réel des données.

Les deux derniers points mis de côté, les défauts d’Hadoop tiennent aujourd’hui principalement au manque de maturité du produit, en développement continu. Néanmoins, de nombreux experts IT contribuent activement au projet Hadoop d’Apache pour perfectionner son fonctionnement et combler les manques et/ou faiblesses de la version originale. Ainsi, si les manques de la première version d’Hadoop sont un point négatif, la pro-activité de sa communauté d’utilisateurs participant à son amélioration est un vrai plus. [5]

Ainsi, malgré les défauts que présente toujours Hadoop à l’heure actuelle, de nombreux acteurs, et pas des moindres (Facebook, Amazon, IBM), ont opté pour cet outil. Son efficacité pour stocker et analyser des données nombreuses et hétérogènes sont aujourd’hui inégalée. Il permet aux Data Scientists de ne plus se restreindre à un simple échantillon de données à analyser. Ils peuvent désormais exploiter toutes les informations à leur disposition pour un coût dérisoire puisque disponible gratuitement sur la toile.

4. Dans quel cas Hadoop est-il pertinent ?

Hadoop est une plateforme pertinente pour les entreprises devant traiter de nombreuses données non structurées, pouvant effectuer du traitement de données en différé et en parallèle. Hadoop devient encore plus intéressant pour les entreprises ayant accès à du hardware bon marché.

Inversement, pour une entreprise ayant besoin d’importantes ressources de calcul sur un petit nombre de données, non indépendantes, Hadoop semble peu pertinent.

5. Quel est le point de vue des acteurs ?

De plus en plus de plateformes de traitement Hadoop sont actuellement développées dans le Cloud. L’utilisation croissante du cloud computing pour des développements et des tests Hadoop permet d’exploiter une plate-forme, où les ressources disponibles sont pratiquement illimitées avec une tarification du type "vous payez ce que vous utilisez vraiment" [7]. Ce nouveau segment laisse la porte ouverte à de nombreuses startups de service en ligne cherchant à offrir une technologie de pointe à leur client en s’appuyant sur Hadoop. Ainsi, de nombreux vendeurs développent leur propre architecture Hadoop en s’inspirant très largement du projet open-source d’Apache.

Parmi tous les nouveaux entrants utilisant Hadoop, on peut notamment citer DataSax, EMC Greenplum et MapR. Deux startups font actuellement figure de proue de ce mouvement : Cloudera et Hortonworks.

Cloudera a été le premier vendeur de solutions Hadoop et compte parmi ses rangs le créateur d’Hadoop Doug Cutting et l’ancien expert de Facebook en analyse de données Jeff Hammerbacher. Sorti en Juin 2012, la quatrième version du produit de Cloudera (CDH : Cloudera Distribution Including Apache Hadoop) est considérée comme la plus mature sur le marché. Cloudera développe parallèlement Cloudera Manager : logiciel pour déployer et gérer en toute sécurité leur outil CDH qui est lui en accès libre. [6]

Basée en Californie, Hortonworks est une spin-off de Yahoo lancée à l’été 2011. En juin 2012, la société californienne a mis en service sa "Hortonworks Data Platform", plateforme 100% open source construite par dessus l’architecture Hadoop d’Apache. L’entreprise génère ses revenus en faisant payer aux entreprises les services supports techniques associés.

6. Conclusion

Hadoop semble un outil indispensable pour gérer le Big Data et dégager une valeur concrète du flot d’informations auquel font face les entreprises. Si l’architecture Hadoop n’est pas encore totalement mature, de nombreux vendeurs, Cloudera et Hortonworks en chef de file, s’en servent pour développer leur propre plateforme Hadoop en vendant des services associés.

Si certains considèrent que l’importance des Data Scientists est exagérée, des experts informatiques défendent l’idée selon laquelle les données devraient être gérées comme des actifs à part entière. L’explosion du nombre d’emplois et de départements liés à la gestion de l’information est tout à fait révélatrice de cette nouvelle manière d’entrevoir la donnée : celle d’un actif dont on peut extraire une valeur. Hadoop est aujourd’hui la technologie la plus prometteuse pour aller dans cette direction.

A l’heure actuelle, de plus en plus d’entreprises du secteur électrique utilisent Hadoop. Pourquoi ont-elles fait ce choix ? Comment l’ont-elles implémenté ? En quoi l’essor des Smart Grids rend cette technologie tout à fait incontournable dans le monde de l’énergie ? Autant de questions auxquelles nous tenterons d’apporter des éléments de réponses dans un prochain bulletin électronique.

Sources :


- [1] Bulletins électronique Etats-Unis #313. L’avènement du Big Data : une ®évolution ? Disponible sur http://www.bulletins-electroniques.com/actualites/71763.htm
- [2] Le Journal du Net, Hadoop en 5 questions, http://www.journaldunet.com/solutions/systemes-reseaux/definition-d-hadoop.shtml
- [3] Wikipedia, Google File System, http://fr.wikipedia.org/wiki/Google_File_System
- [4] Wikipedia, Map/Reduce, http://fr.wikipedia.org/wiki/MapReduce
- [5] Wikibon, Big Data : Hadoop, Business Analytics and Beyond, http://wikibon.org/wiki/v/Big_Data:_Hadoop,_Business_Analytics_and_Beyond
- [6] Wikibon, Hadoop : From Innovative Up-Start to Enterprise-Grade Big Data Platform, http://wikibon.org/wiki/v/Hadoop:_From_Innovative_Up-Start_to_Enterprise-Grade_Big_Data_Platform
- [7] Le Monde Informatique, Hadoop prend son essor dans le cloud, http://www.lemondeinformatique.fr/actualites/lire-hadoop-prend-son-essor-dans-le-cloud-52243.html

Rédacteurs :


- Basile Bouquet, basile.bouquet@consulfrance-sanfrancisco.org ;
- Retrouvez l’actualité en Californie sur http://sf.france-science.org ;
- Retrouvez toutes nos activités sur http://france-science.org.

Voir en ligne : http://www.bulletins-electroniques….