hadoop

Qu’est-ce que Hadoop et pourquoi c’est important ?

Mis à jours 12 avril 2023

Hadoop est une infrastructure logicielle open source pour stocker des données et exécuter des applications sur des grappes de matériel de base.

Il offre un stockage massif pour tout type de données, une énorme puissance de traitement et la capacité de gérer des tâches ou des travaux simultanés pratiquement illimités.       

Histoire de Hadoop

Histoire de Hadoop

À mesure que le World Wide Web se développait à la fin des années 1900 et au début des années 2000, des moteurs de recherche et des index ont été créés pour aider à localiser les informations pertinentes parmi le contenu textuel.

Dans les premières années, les résultats de la recherche étaient renvoyés par les humains. Cependant, à mesure que le Web passait de dizaines à des millions de pages, l’automatisation était nécessaire.

Des robots d’exploration ont été créés, pour la plupart dans le cadre de projets de recherche universitaires. Puis, des start-ups de moteurs de recherche ont pris leur envol (Yahoo, AltaVista, etc.).

Un de ces projets était le moteur de recherche Web open-source appelé Nutch. C’est une idée originale de Doug Cutting et Mike Cafarella.

Ils voulaient renvoyer plus rapidement les résultats de la recherche sur le Web en distribuant les données et les calculs sur différents ordinateurs. Cela permet aux plusieurs tâches d’être accomplies simultanément.

Pendant ce temps, un autre projet de moteur de recherche appelé Google était en cours. Il était basé sur le même concept : stocker et traiter les données de manière distribuée et automatisée afin que les résultats de recherche Web pertinents puissent être renvoyés plus rapidement.

En 2006, Cutting a rejoint Yahoo et a emporté avec lui le projet Nutch ainsi que des idées basées sur les premiers travaux de Google avec l’automatisation du stockage et du traitement des données distribuées.

Le projet Nutch a été divisé. La partie du robot d’exploration Web est restée sous le nom de Nutch. Tandis que la partie informatique et traitement distribuée est devenue Hadoop (le nom d’un éléphant jouet du fils de Cutting).

En 2008, Yahoo a publié Hadoop en tant que projet open source. Aujourd’hui, le framework et l’écosystème de technologies de Hadoop sont gérés et maintenus par l’Apache Software Foundation (ASF). C’est une communauté mondiale de développeurs de logiciels et de contributeurs.

Pourquoi Hadoop est-il important ?

  • Possibilité de stocker et de traiter rapidement d’énormes quantités de tout type de données. Avec des volumes et des variétés de données en constante augmentation, en particulier à partir des médias sociaux et de l’Internet des objets (IoT), c’est une considération clé.
  • Puissance de calcul. Le modèle informatique distribué de Hadoop traite rapidement le Big Data. Plus vous utilisez de nœuds informatiques, plus vous disposez de puissance de traitement.
  • Tolérance aux pannes. Le traitement des données et des applications est protégé contre les pannes matérielles. Si un nœud tombe en panne, les travaux sont automatiquement redirigés vers d’autres nœuds pour s’assurer que le calcul distribué n’échoue pas. Plusieurs copies de toutes les données sont stockées automatiquement.
  • Souplesse. Contrairement aux bases de données relationnelles traditionnelles, vous n’avez pas besoin de prétraiter les données avant de les stocker. Vous pouvez stocker autant de données que vous souhaitez et décider de leur utilisation plus tard. Cela inclut les données non structurées comme le texte, les images et les vidéos.
  • À bas prix. Le framework open-source est gratuit et utilise du matériel de base pour stocker de grandes quantités de données.
  • Évolutivité. Vous pouvez facilement développer votre système pour gérer plus de données en ajoutant simplement des nœuds. Cela demande peu d’administration.

Quels sont les challenges liés à l’utilisation de Hadoop ?

1- La programmation MapReduce ne convient pas à tous les problèmes.

C’est bon pour les demandes d’informations simples et les problèmes qui peuvent être divisés en unités indépendantes. Cependant, elle n’est pas efficace pour les tâches analytiques itératives et interactives.

MapReduce est gourmand en fichiers. Étant donné que les nœuds ne communiquent pas entre eux sauf par le biais de tris et de mélanges, les algorithmes itératifs nécessitent plusieurs phases de mélange de mappage/réduction de tri pour se terminer. Cela crée plusieurs fichiers entre les phases de MapReduce et est inefficace pour le calcul analytique avancé.

2- Il existe un déficit de talents largement reconnu.

Il peut être difficile de trouver des programmeurs débutants qui possèdent des compétences Java suffisantes pour être productifs avec MapReduce.

C’est l’une des raisons pour lesquelles les fournisseurs de distribution s’efforcent de mettre la technologie relationnelle (SQL) au-dessus de Hadoop. Il est beaucoup plus facile de trouver des programmeurs avec des compétences SQL que des compétences MapReduce. Et, l’administration Hadoop semble à la fois art et science. Cela nécessite une connaissance de bas niveau des systèmes d’exploitation, du matériel et des paramètres du noyau Hadoop.

3- Sécurité des données.

Un autre défi concerne les problèmes de sécurité des données fragmentés, même si de nouveaux outils et technologies font surface. Le protocole d’authentification Kerberos est une étape importante vers la sécurisation des environnements Hadoop.

4- Gestion et gouvernance des données à part entière.

Hadoop ne dispose pas d’outils complets et faciles à utiliser pour la gestion et le nettoyage des données, la gouvernance et les métadonnées. Les outils de qualité et de normalisation des données font particulièrement défaut.

Anecdote : « Hadoop » était le nom d’un éléphant jaune appartenant au fils de l’un de ses inventeurs.

Hadoop dans le monde d’aujourd’hui

La promesse d’un stockage et d’une puissance de traitement à faible coût et à haute disponibilité a attiré de nombreuses entreprises vers Hadoop.

Cependant, pour beaucoup, une question se pose : comment Hadoop peut-il nous aider avec le Big Data et l’analyse de données (analytics) ? En savoir plus ici !

tdwi : Faire progresser toutes les données
tdwi logo – Faire progresser toutes les données

Une grande lecture : Hadoop pour les entreprises

Ce rapport complet de 40 pages sur les meilleures pratiques de TDWI explique comment Hadoop et ses implémentations évoluent pour permettre des déploiements d’entreprise qui vont au-delà des applications de niche.

Téléchargez le rapport TDWI

Icône de rapport

Un vilain petit canard devenu cygne

C’est ainsi que le groupe Bloor présente l’écosystème Hadoop dans ce rapport qui explore l’évolution et les options de déploiement pour Hadoop. Il comprend un historique détaillé et des conseils sur la façon de choisir une distribution pour vos besoins.

Télécharger le rapport

Le groupe Bloor présente l’écosystème Hadoop

Préparation des données en self-service pour l’analyse

Vous voulez savoir comment obtenir plus rapidement des informations en donnant aux utilisateurs professionnels un accès direct aux données ? Ce webinaire montre comment des outils en self-service tels que SAS Data Preparation permettent aux utilisateurs non techniques d’accéder et de préparer de manière indépendante les données pour l’analyse.

Regarder maintenant

livre électronique

Présentation de SAS et Hadoop

Familiarisez-vous avec les concepts Hadoop et SAS afin de comprendre et d’utiliser la technologie qui répond le mieux à vos besoins. Téléchargez ce livre gratuit pour découvrir comment la technologie SAS interagit avec Hadoop.

Obtenez un aperçu

Gestion des données pour Hadoop

Gestion des données pour Hadoop

Les compétences en Big Data sont très demandées. Désormais, les utilisateurs professionnels peuvent profiler, transformer et nettoyer les données – sur Hadoop ou n’importe où ailleurs – à l’aide d’une interface utilisateur intuitive.

Comment Hadoop est-il utilisé ?

Au-delà de leur objectif initial de rechercher des millions (ou des milliards) de pages Web et de renvoyer des résultats pertinents, de nombreuses entreprises se tournent vers Hadoop comme leur prochaine plateforme de Big Data. Les utilisations populaires aujourd’hui incluent :

Stockage et archivage de données à faible coût

Le coût modeste du matériel de base rend Hadoop utile pour stocker et combiner des données telles que les données transactionnelles, les médias sociaux, les capteurs, les machines, les flux scientifiques, les flux de clics, etc.

Le stockage à faible coût vous permet de conserver des informations qui ne sont pas jugées actuellement critiques mais que vous souhaiteriez peut-être analyser plus tard.

Sandbox pour la découverte et l’analyse

Étant donné que Hadoop a été conçu pour traiter des volumes de données sous diverses formes, il peut exécuter des algorithmes analytiques.

L’analyse des mégadonnées sur Hadoop peut aider votre entreprise à fonctionner plus efficacement, à découvrir de nouvelles opportunités et à obtenir un avantage concurrentiel de niveau supérieur. L’approche sandbox offre la possibilité d’innover avec un investissement minimal.

Lac de données

Les lacs de données prennent en charge le stockage des données dans leur format d’origine ou exact. L’objectif est d’offrir une vue brute ou non raffinée des données aux data scientists et aux analystes pour la découverte et l’analyse. Cela les aide à poser des questions nouvelles ou difficiles sans contraintes.

Les lacs de données ne remplacent pas les entrepôts de données. En fait, comment sécuriser et gérer les lacs de données est un sujet majeur pour l’informatique. Ils peuvent s’appuyer sur des techniques de fédération de données pour créer des structures de données logiques.

Compléter votre entrepôt de données

Nous voyons maintenant que Hadoop commence à trouver sa place à côté des environnements d’entrepôt de données. Certains ensembles de données sont déchargés de l’entrepôt de données vers Hadoop ou de nouveaux types de données vont directement vers Hadoop.

L’objectif final pour chaque entreprise est de disposer d’une plateforme appropriée pour stocker et traiter des données de différents schémas, formats, etc. afin de prendre en charge différents cas d’utilisation pouvant être intégrés à différents niveaux.

IoT et Hadoop

Les éléments de l’IoT doivent savoir quoi communiquer et quand agir. Au cœur de l’IoT se trouve un streaming, toujours sur torrent de données. Hadoop est souvent utilisé comme magasin de données pour des millions ou des milliards de transactions.

Les capacités de stockage et de traitement massives vous permettent également d’utiliser Hadoop comme bac à sable pour la découverte et la définition de modèles à surveiller pour des instructions prescriptives.

Vous pouvez ensuite améliorer continuellement ces instructions, car Hadoop est constamment mis à jour avec de nouvelles données qui ne correspondent pas aux modèles précédemment définis.

Créer un moteur de recommandation dans Hadoop

Créer un moteur de recommandation dans Hadoop

L’une des utilisations analytiques les plus populaires par certains des plus grands utilisateurs de Hadoop est les systèmes de recommandation basés sur le Web. Facebook – des personnes que vous connaissez peut-être. LinkedIn – emplois qui pourraient vous intéresser. Netflix, eBay, Hulu – objets que vous pourriez souhaiter.

Ces systèmes analysent d’énormes quantités de données en temps réel pour prédire rapidement les préférences avant que les clients ne quittent la page Web.

Comment faire ?

Un système de recommandation peut générer un profil utilisateur explicitement (en interrogeant l’utilisateur) et implicitement (en observant le comportement de l’utilisateur). Puis, il compare ce profil à des caractéristiques de référence (observations de toute une communauté d’utilisateurs) pour fournir des recommandations pertinentes.

SAS fournit un certain nombre de techniques et d’algorithmes pour créer un système de recommandation. Cela va des mesures de distance de base à la factorisation matricielle et au filtrage collaboratif. Tout cela peut être fait dans Hadoop.

Découvrez comment créer des systèmes de recommandation dans Hadoop et plus

« Je crois que Hadoop a mûri au point que les gens peuvent réussir à créer des applications volumineuses et complexes sur la plateforme. Hadoop a répondu à nos exigences d’évolutivité pour gérer des types de données volumineux et variés. »

Bob Zurek
vice-président principal des produits chez Epsilon dans Hadoop for the Enterprise, un rapport sur les meilleures pratiques de TDWI

Hadoop, l’analytique et le data scientist

mémoire pour Hadoop

Vous aimez le codage ? Vous allez adorer ça. Un environnement interactif tout-en-un vous offre tout ce dont vous avez besoin pour obtenir des informations précises à partir des données dans Hadoop. À une vitesse fulgurante.

En savoir plus sur les analyses sur Hadoop de SAS

Fonctionnement et glossaire Hadoop

Actuellement, quatre modules de base sont inclus dans le framework de base d’Apache Foundation :

Hadoop Common : les bibliothèques et utilitaires utilisés par d’autres modules Hadoop.

Hadoop Distributed File System (HDFS) : le système évolutif basé sur Java qui stocke les données sur plusieurs machines sans organisation préalable.

YARN ou Yet Another Resource Negotiator : fournit la gestion des ressources pour les processus exécutés sur Hadoop.

MapReduce : un framework logiciel de traitement parallèle. Il comprend deux étapes. L’étape de mappage est un nœud maître qui prend les entrées et les partitionne en sous-problèmes plus petits. Ensuite, il les distribue aux nœuds de travail. Une fois l’étape de mappage terminée, le nœud maître prend les réponses à tous les sous-problèmes et les combine pour produire une sortie.

Ecosystème Hadoop

Les autres composants logiciels qui peuvent s’exécuter au-dessus ou aux côtés d’Hadoop et qui ont atteint le statut de projet Apache de niveau supérieur sont :

Ambari : Une interface Web pour gérer, configurer et tester les services et les composants Hadoop.

Cassandra : Un système de base de données distribué.

Flume : Un logiciel qui collecte, agrège et déplace de grandes quantités de données en continu vers HDFS.

HBase : Une base de données distribuée non relationnelle qui s’exécute sur Hadoop. Les tables HBase peuvent servir d’entrée et de sortie pour les travaux MapReduce.

HCatalog : Une couche de gestion des tables et du stockage qui aide les utilisateurs à partager et accéder aux données.

Hive : Un entrepôt de données et un langage de requête de type SQL qui présente les données sous forme de tables. La programmation Hive est similaire à la programmation de base de données.

Oozie : Un planificateur de travaux Hadoop.

Pig : Une plateforme pour manipuler les données stockées dans HDFS qui comprend un compilateur pour les programmes MapReduce et un langage de haut niveau appelé Pig Latin. Elle fournit un moyen d’effectuer des extractions, des transformations et des chargements de données, ainsi que des analyses de base sans avoir à écrire des programmes MapReduce.

Solr : Un outil de recherche évolutif qui inclut l’indexation, la fiabilité, la configuration centrale, le basculement et la restauration.

Spark : Une infrastructure de calcul de cluster open-source avec des analyses en mémoire.

Sqoop : Un mécanisme de connexion et de transfert qui déplace les données entre Hadoop et les bases de données relationnelles.

Zookeeper : Une application qui coordonne le traitement distribué.

Distributions Hadoop commerciales

Les logiciels open source sont créés et maintenus par un réseau de développeurs du monde entier. Le téléchargement, l’utilisation et la contribution sont gratuits, bien que de plus en plus de versions commerciales de Hadoop deviennent disponibles (elles sont souvent appelées « distributions »).

Avec les distributions des éditeurs de logiciels, vous payez pour leur version du framework Hadoop et recevez des fonctionnalités supplémentaires liés à la sécurité, à la gouvernance, au SQL et aux consoles de gestion/administration, ainsi qu’à la formation, à la documentation et à d’autres services. Les distributions populaires incluent Cloudera, Hortonworks, MapR, IBM BigInsights et PivotalHD.

Obtenir des données dans Hadoop

Image du cluster Hadoop

Voici quelques façons d’obtenir vos données dans Hadoop :

  • Utilisez des connecteurs de fournisseurs tiers (comme SAS/ACCESS® ou SAS Data Loader for Hadoop).
  • Utilisez Sqoop pour importer des données structurées d’une base de données relationnelle vers HDFS, Hive et HBase. Il peut également extraire des données de Hadoop et les exporter vers des bases de données relationnelles et des entrepôts de données.
  • Utilisez Flume pour charger en continu les données des journaux dans Hadoop.
  • Chargez des fichiers sur le système à l’aide de simples commandes Java.
  • Créez une tâche cron pour analyser un répertoire à la recherche de nouveaux fichiers et les « mettre » dans HDFS au fur et à mesure qu’ils apparaissent. Ceci est utile pour des choses comme le téléchargement d’emails à intervalles réguliers.
  • Montez HDFS en tant que système de fichiers et copiez ou écrivez des fichiers.

Big Data, Hadoop et SAS

La prise en charge SAS pour les implémentations de Big Data, y compris Hadoop, se concentre sur un objectif unique : vous aider à en savoir plus, plus rapidement, afin que vous puissiez prendre de meilleures décisions.

Quelle que soit la façon dont vous utilisez la technologie, chaque projet doit passer par un cycle d’amélioration itérative et continue. Et cela inclut la préparation et la gestion des données, la visualisation et l’exploration des données, le développement de modèles analytiques, le déploiement et la surveillance des modèles. Vous pouvez ainsi obtenir des informations et transformer rapidement vos grandes données Hadoop en opportunités plus importantes.

Puisque SAS se concentre sur l’analyse et non sur le stockage, nous proposons une approche flexible pour choisir les fournisseurs de matériel et de bases de données. Nous pouvons vous aider à déployer la bonne combinaison de technologies, dont Hadoop, et d’autres technologies d’entrepôt de données.

Et rappelez-vous, le succès de tout projet est déterminé par la valeur qu’il apporte. Ainsi, des mesures construites autour de la génération de revenus, des marges, de la réduction des risques et de l’amélioration des processus aideront les projets pilotes à être plus acceptés et à susciter plus d’intérêt de la part d’autres départements. Nous avons constaté que de nombreuses entreprises envisagent de mettre en œuvre un ou deux projets dans Hadoop, avec l’intention d’en ajouter d’autres à l’avenir.

Aina Strauss

À lire aussi

Le cloud et l'IA pour Entreprises

Cloud et IA : comment les entreprises françaises peuvent-elles en bénéficier ?

Table de matièreHistoire de HadoopPourquoi Hadoop est-il important ?Quels sont les challenges liés à l’utilisation …