Hadoop, définition
Définition : Hadoop est un projet Open Source géré par Apache Software Fundation basé sur le principe Map Reduce et Google File System, deux produits Google Corp. Le produit est écrit en langage Java. Le principe repose sur l'exécution du traitement répartie multi noeuds pour augmenter drastiquement les capacités de calculs et de stockage afin de traiter de très grandes quantités de données.
Big Data, stockage et traitement distribués
Hadoop peut être considéré comme un système de traitement de données évolutif pour le stockage et le traitement par lot de très grande quantité de données, Big Data.
Il est tout à fait adapté aux stockages de grande taille et aux analyses de type ad hoc sur de très grandes quantité de données.
Le besoin en analyse de grandes masses de données devient toujours plus pressant.Les analyses des données collectées sur le web, les traces laissées par les clients et prospects sont les applications les plus souvent citées.
Hadoop et les analyses massives
Le web n'est pas le seul à générer de grandes masses d'informations. Une gestion de suivi produit moderne, logistique ou traçabilité par exemple, exploitant l'identification généralisée des objets et des parcours de type RFID génère aussi des quantités incommensurables de précieuses données pour nourrir le
Big Data.
Les analyses massives autorisent alors des optimisations bien plus fines. Les suivis de trajet GPS, que ce soit pour une maîtrise au plus juste des frais des itinérants ou pour un nouveau modèle économique d'assurance auto seront détaillés, recoupés et consolidés à la ligne près, avec ces nouveaux outils.
Hadoop, en quelques mots
Dans son principe, Hadoop se compose de :
- 1) HDFS, pour Hadoop Distributed File system, le système de fichiers de données distribués, un système extrêmement puissant de gestion répartie des données
- 2) Map-reduce
- 3) Une collection d'outils spécifiques pour HRFS et Map Reduce
Les serveurs supportant la solution Hadoop sont organisés en "clusters", c'est-à-dire en grappes, fonctionnant de préférence sous système d'exploitation linux.
☛ Point fort : Les serveurs composant un cluster n'ont nul besoin d'être des machines haut de gamme. HDFS est en effet tolérant aux pannes. La perte de données n'est pas un problème puisque les stockages sont redondants, donc sans rapport avec le modèle ACID des SGBDR plus classiques.
D'ailleurs, les solutions Hadoop ne sont pas vraiment adaptées aux usages de type transactionnel OLTP pour OnLine Transaction Processing. La structure des fichiers HDFS est du type Write Once Read Many (WORM).
Benchmark
Pour avoir une meilleure idée de la performance du système et de la révolution à venir :
Déjà en mai 2009 chez Yahoo Corp, utilisateur de Hadoop, 1 téra-octet (10
12 ) de données a été trié en 62 secondes (cf blog développeur yahoo, voir plus bas)...
Un autre exemple : Facebook, utilisateur de Hadoop, ingère 15 térabytes de nouvelles données par jour dans leurs 2,5 petabytes (10
15) data warehouse sous Hadoop.
Principe détaillé de Hadoop
Hadoop, tout comme
Map-reduce, est indépendant des machines sur lesquelles il s'exécute. Hadoop fractionne autant le traitement que la répartition des données sur les machines disponibles.
Les machines sont similaires et interchangeables. Ainsi, en cas de défaillance, le traitement est immédiatement reporté sur une autre unité du noeud.
Il en est de même pour le stockage. Un ensemble de données n'est pas nécessairement stocké sur une machine spécifique.
Hadoop et le traitement parallèle
Le fait de fractionner un ensemble de données sur plusieurs machines permet le traitement en parallèle. Il s'agit d'optimiser au mieux les ressources de stockage et de traitement dans une logique de traitement massif. Pour cela, il faut perdre de vue la notion de machine ou de stockage spécifique et clairement identifié. Hadoop se charge de cet aspect.
Dans le même esprit, voir la virtualisation du stockage et le cloud computing pour l'entreprise. Le programmeur peut alors se consacrer à son algorithme sans se préoccuper des questions de répartition des charges, de défaillance machines et de synchronisation. Hadoop traite les données structurées et non structurées en provenance de sources multiples.
La technologie Hadoop n'est pas à la porté du débutant, loin s'en faut, et les spécialistes sont encore assez rares et donc très courus... Il est alors plus judicieux de profiter des nombreuses solutions en mode Paas, Platform as a Service. Voir notamment les solutions Amazon Web Services comme Amazon Elastic MapReduce et l'infrastructure Hadoop.
Aspects techniques
Un
driver JDBC assure l'interface avec les SGBD existants.
Amazon EC2, solution de
cloud computing est compatible avec Hadoop.
CloudBase, un produit data warehouse Open Source sur Amazon EC2 (dispo sur sourceorge.net) développé par Business.com afin d'analyser les logs du site.
Si IBM est plutôt porté sur cette technologie, Microsoft propose, lui, une solution concurrente (Madison) et affiche haut et fort qu'il n'a pas besoin de Hadoop. À suivre...
Pig latin
Pig latin est un langage d'interrogation, comme SQL et les logiques relationnelles, adapté aux grandes quantités de données. C'est un langage de script et un environnement d'exécution pour exploiter
Map Reduce sans être contraint d'entrer dans la complexité de la programmation.
Pig est un produit Yahoo actuellement dans l"incubateur Apache en Open Source. Pour la petite histoire, Pig latin désigne un argot anglais où il s'agit d'inverser les syllabes comme pour le louchébem. C'est un peu ainsi que procède ce nouveau langage vis-à-vis de SQL.
» Voir ici Pig Latin.
Apache Drill
C'est un projet d'envergure qui n'a d'autre but que de bâtir un environnement d'exécution distribuée pour analyser des quantités impressionnantes de données de l'ordre du petaoctet sur un nombre tout aussi impressionnant de serveurs. Drill supporte un large nombre de
bases NOSQL.
D'autre part, et c'est peut-être là le plus important, les
outils standards de la Business Intelligence comme Qlik ou SAS et même Excel peuvent interagir avec Drill en exploitant simplement ODBC ou JDBC. Il fonctionne d'ailleurs sur un simple laptop, de quoi se construire un
tableau de bord excel par exemple.
Solutions complémentaires
-
Oozie est une solution de workflow utilisée pour gérer et coordonner les tâches de traitement de données à destination de Hadoop.
github.com/yahoo/oozie
- Flume est une solution de collecte et d'agrégation des données destinées à être stockées et traitées par Apache Hadoop (HDFS Hadoop Distributed File System).
www.cloudera.com
- Hbase est un système de bases de données distribuées non relationnelles.
hbase.apache.org
- Hive query language est un langage d'interrogation proche de SQL (un peu plus proche en tout cas que Pig latin). Développé par Facebook, il est utilisé pour simplifié les développement Map Reduce.
https://cwiki.apache.org/confluence/display/Hive/
Présentation détaillée du livre "la transformation démocratique de l'entreprise"
L’auteur
Alain Fernandez est un spécialiste de la mesure de la performance, de l’aide à la décision et de la conception de tableaux de bord de pilotage. Au fil de ces vingt dernières années, il a conduit de nombreux projets de réalisation de système décisionnel en France et à l'International. Il est l'auteur de plusieurs livres publiés aux Éditions Eyrolles consacrés à ce thème, vendus à plusieurs dizaines de milliers d'exemplaires et régulièrement réédités.
Ressources
- labs.google.com : L'excellent dossier pdf des Google Labs MapReduce: Simplified Data Processing on Large Clusters
- hadoop.apache.org : Le site Hadoop chez Apache
- www.cloudera.com : Cloudera, version commerciale de Hadoop avec services et support. Un très bon site, de bonnes explications, tutoriels, formations...
- sortbenchmark.org : Benchmark de tri pour se faire une idée de performance de traitement
- cloudbase.it : CloudBase, un data warehouse construit sur une architecture Hadoop en open source dispo sur sourceforge
- wikipedia us : Une bonne introduction au concept "Big data"
- wired.com : Un court article sur Wired : Visualizing Big Data: Bar Charts for Words
- The economist : Une bonne analyse, simple et accessible aux non spécialistes
À ce sujet, voir aussi
- MapReduce, définition
MapReduce est un modèle de programmation massivement parallèle adapté au traitement de très grandes quantités de données. Les programmes adoptant ce modèle sont automatiquement parallélisés et exécutés sur des clusters (grappes) d'ordinateurs. MapReduce est un produit Google Corp.
- Bases de données NoSQL, le principe
Que sont les bases de données Not only SQL ? Quelles sont les applications où elles s'avèrent plus performantes que les bases de données relationnelles SGBD-R ? Cette génération de bases de données remettent partiellement en cause les fondamentaux des classiques bases relationnelles pour obtenir essentiellement des gains en performance avec des systèmes très largement répartis... Mais pas seulement... Voyons tout cela...
- Le marketing du Big Data, les vendeurs d'illusions
Attention aux vendeurs d'illusions ! Le marketing et son storytelling sont déjà -en marche- pour colporter les nouvelles chansons de gestes contant les succès fabuleux des solutions d'analytique. Il est prudent de décoder le storytelling marketing... Le Big Data n'est pas la solution magique qui prendra les décisions à votre place. Attention de ne pas réveiller le mythe archaïque de l'homo oeconomicus au risque de cuisants et coûteux échecs.
- Quelles sont les limites du Big Data et de l'Analytique ?
Le Big Data offre bien des avantages sur le papier. Dans la réalité, le Big Data n'est pas exempt de limites qu'il s'agit de bien connaître avant même d'envisager de s'engager dans une solution technologique de ce type.
À lire...
Comment utiliser Hadoop pour bâtir des systèmes distribuées afin de procéder à l'analyse de très grandes quantités de données. Tom White est un expert consultant conférencier Hadoop. Il travaille pour Cloudera Entreprise intégrant les projets Hadoop et référencée ci-dessus...
Hadoop
The Definitive Guide
Tom White
O'Reilly Media
4ème édition 2015
756 pages (anglais)
Dispo :
www.amazon.fr &
Format Kindle
Un ouvrage accessible pour mieux comprendre le principe du big data et du Machine Learning...
Big Data et Machine Learning
Les concepts et les outils de la data science
Pirmin Lemberger, Marc Batty, Médéric Morel, Jean-Luc Raffaëlli
Dunod 3ème édition 2019
272 pages
Dispo :
www.amazon.fr
Piloter l'Entreprise Innovante...
Avez-vous déjà essayé d'instaurer la prise de décision en équipe ? Sans précautions préalables, rapidement, le consensus le plus mou qui soit vient casser les plus pures ambitions. Mais connaissez-vous la méthode SOCRIDE centrée sur les questions incontournables de Confiance et de Reconnaissance ? Rien de plus facile ! Elle est expliquée, illustrée et détaillée dans ce livre :
Les tableaux de bord du manager innovant
Une démarche en 7 étapes pour faciliter la prise de décision en équipe
Alain Fernandez
Éditeur : Eyrolles
Pages : 320 pages
Consultez la fiche technique »»»
Pour acheter ce livre :
Format ebook : PDF & ePub,
Format Kindle
Voir aussi...
Partagez cet article...
(total partages cumulés > 145)