MapReduce
Qu’est-ce que MapReduce ?
MapReduce est un modèle de programmation qui fonctionne sur Hadoop — un moteur d’analyse de données largement utilisé pour le Big Data — et crée des applications qui s’exécutent en parallèle pour traiter de grands volumes de données stockées sur des clusters.
Flexibilité élastique
Bien que MapReduce soit beaucoup plus lent que les autres modèles, son principal avantage est sa flexibilité élastique qui lui permet d’évoluer rapidement ou d’allouer davantage de nœuds informatiques afin de raccourcir les temps de calcul. MapReduce peut s’adapter à des milliers de nœuds, probablement grâce à ses systèmes de fichiers distribués et à sa capacité à exécuter des processus à proximité des données au lieu de déplacer les données elles-mêmes. Son évolutivité réduit les coûts de stockage et de traitement de volumes croissants de données.
Traitement parallèle
Avec MapReduce, les développeurs n’ont pas besoin de créer du code pour les tâches de codage complexes comme le parallélisme, la distribution des données ou autres, car celles-ci sont déjà intégrées dans le modèle. Ce seul fait permet de réduire le temps de programmation analytique.
Prise en charge des données non structurées
Étant donné que les données non structurées constituent la majorité (80 %) des données générées, la prise en charge par MapReduce de tout type de structure de données permet aux entreprises d’analyser les données beaucoup plus efficacement.
Tolérance aux pannes
MapReduce est moins vulnérable aux défaillances matérielles entraînant un arrêt du système, car il fonctionne en diffusant les données sur de nombreux ordinateurs et serveurs. MapReduce envoie un ensemble complet de données à chaque nœud du réseau, et si un nœud ou un élément matériel tombe en panne, toutes les données sont préservées et peuvent être récupérées automatiquement.
Comment fonctionne MapReduce ?
Le fonctionnement de MapReduce peut être décomposé en trois phases, avec une quatrième phase en option.
- Mappeur : Dans cette première phase, la logique conditionnelle filtre les données de tous les nœuds pour former des paires clé-valeur. La « clé » fait référence à l'adresse de décalage pour chaque enregistrement, et la « valeur » contient tout le contenu de l'enregistrement.
- Réorganisation : Au cours de la deuxième phase, les valeurs de sortie du mappage sont triées et consolidées. Les valeurs sont regroupées en fonction de clés analogues et les valeurs en double sont supprimées. La sortie de la phase de réorganisation est également présentée sous forme de combinaisons clé-valeur, mais cette fois, les valeurs indiquent une plage plutôt que le contenu d'un seul enregistrement.
- Réducteur : Au cours de la troisième phase, la sortie de la phase de réorganisation consolidée est agrégée, toutes les valeurs étant ajoutées à leurs clés correspondantes. Le tout est ensuite regroupé dans un seul répertoire de sortie.
- Combineur : L’exécution de cette phase permet d’optimiser les performances des tâches MapReduce afin d’accélérer leur exécution. Pour ce faire, les sorties du mappeur sont examinées au niveau du nœud en vue de détecter les doublons, lesquels sont regroupés en une seule paire clé-valeur, ce qui réduit le travail à accomplir pendant la phase de réorganisation.
Quant à la manière dont ces phases sont exécutées, l'architecture se compose de deux services démons : Resource Manager et Node Manager, qui exécutent les tâches de mappeur et de réducteur, tout en surveillant et en réexécutant les tâches qui échouent. Ces deux services gèrent également les composants de traitement parallèle et de tolérance aux pannes de toutes les tâches MapReduce.
Plus loin dans la structure, les fonctions de gestion des ressources et d’ordonnancement/surveillance sont réparties entre différents démons : une instance Resource Manager globale et une instance Application Master pour chaque application.
Lorsqu’une tâche arrive, Resource Manager coordonne l’allocation des ressources du cluster pour toutes les applications en cours. Il collabore avec Application Master et Node Manager pour déterminer quels nœuds peuvent prendre en charge la tâche. Ensuite, l’instance Application Manager et la ou les instances Node Manager se coordonnent. Les instances Node Manager sont chargées de lancer et de surveiller les conteneurs de calcul afin d’effectuer la tâche.
Comment les entreprises utilisent-elles MapReduce ?
Avec la maturation du marché du traitement de données, la part de marché de MapReduce est tombée à moins d’un pour cent. Néanmoins, cette technologie est toujours utilisée par près de 1 500 entreprises aux États-Unis, et connaît un certain essor dans d’autres pays.
Dans l’ensemble, MapReduce est utilisé par le secteur des logiciels et des services informatiques. Il convient également de citer le secteur des services financiers, le secteur hospitalier et de la santé, l’enseignement supérieur, le commerce de détail, l’assurance, les télécommunications et le secteur bancaire. Voici quelques exemples de cas d’utilisation :
- Services financiers : Des banques de détail utilisent un système Hadoop pour valider l’exactitude et la qualité des données afin de se conformer aux réglementations fédérales.
- Soins de santé : Une société informatique du secteur de la santé utilise un système Hadoop pour archiver des années de données de demandes de remboursement et de prestations, ce qui revient à traiter et à stocker pour analyse ultérieure plusieurs téraoctets de données par jour. Un autre système hospitalier surveille les signes vitaux des patients en collectant des milliards de points de données en continu à partir de capteurs fixés sur les patients.
- Services informatiques : Un important prestataire de services informatiques recueille des données de diagnostic à partir de ses systèmes de stockage déployés sur les sites de ses clients. Il utilise un système Hadoop qui exécute MapReduce sur des journaux non structurés et des informations de diagnostic système.
- Recherche : La recherche en cours sur le projet du génome humain utilise Hadoop MapReduce pour traiter des quantités massives de données. Et un célèbre prestataire de services de recherche en génétique familiale gère un flot croissant de données de séquençage génétique, y compris des données structurées et non structurées sur les naissances, les décès, les résultats des recensements et les dossiers militaires et d’immigration, qui représentent plusieurs pétaoctets et dont le volume ne cesse de croître.
- Commerce de détail : Une grande place de marché en ligne utilise MapReduce pour analyser d’énormes volumes de données de journalisation afin de déterminer le comportement des clients, les recommandations de recherche, etc. Et un grand magasin fait passer les données de ses campagnes de marketing par un système Hadoop afin d’obtenir des informations qui lui permettront de réaliser des campagnes ciblées avec une précision allant jusqu’au client individuel.
- Télécommunications : Le stockage de milliards d’enregistrements d’appels avec accès en temps réel pour les clients représente des centaines de téraoctets de données à traiter pour un important fournisseur de télécommunications.
Quelle est la contribution de HPE à MapReduce ?
HPE propose plusieurs solutions qui peuvent vous aider à économiser du temps, de l’argent et des ressources humaines sur la gestion des systèmes Hadoop exécutant MapReduce.
Par exemple, l’équipe HPE Pointnext Services offre des conseils et une assistance technique pour la planification, la conception et l’intégration de votre environnement d’analyse de Big Data. En simplifiant la conception et la mise en œuvre de Hadoop et de MapReduce, elle vous permet de mieux vous concentrer sur l’analyse de données afin de prendre des décisions métier éclairées.
En outre, HPE GreenLake offre une solution évolutive qui simplifie radicalement l’ensemble du cycle de vie de Hadoop. Il s’agit d’une solution intégrale qui comprend le matériel, les logiciels et le support nécessaires pour les environnements symétriques et asymétriques. La méthode de tarification et de facturation unique de HPE vous permet d’analyser plus facilement vos coûts Hadoop et de mieux prévoir les dépenses futures liées à votre solution.
Fort de nombreuses années d’expérience des missions client portant sur les environnements Hadoop, HPE a créé une solution Hadoop d’entreprise déclinée en deux éditions testées et prêtes à implémenter. Celles-ci sont complétées par HPE Insight Cluster Management Utility, qui permet aux responsables des infrastructures et des opérations informatiques de provisionner, gérer et surveiller rapidement leur infrastructure ainsi que de choisir leur implémentation de Hadoop. L’édition standard de la solution Hadoop d’entreprise de HPE peut être prise en charge dans le cadre de la solution HPE GreenLake.