MapReduce est un concept de programmation essentiel que vous devez maîtriser pour devenir un ingénieur de données professionnel. Il fournit des solutions aux systèmes de gestion de fichiers Big Data distribués. Par conséquent, comprendre le contexte théorique de MapReduce vous facilitera l'apprentissage de la technique elle-même.
Mais qu'est-ce que MapReduce et comment fonctionne-t-il dans les systèmes de fichiers distribués? Vous le découvrirez dans cet article.
Qu'est-ce que MapReduce ?
MapReduce est un modèle d'ingénierie de données appliqué aux programmes ou applications qui traitent la logique du Big Data au sein de clusters parallèles de serveurs ou de nœuds. Il distribue une logique de traitement sur plusieurs nœuds de données et agrège les résultats dans le client-serveur.
MapReduce garantit que le traitement est rapide, économe en mémoire et fiable, quelle que soit la taille des données.
Hadoop File System (HDFS), Google File System (GFS), Apache Kafka, GlusterFS, etc. sont des exemples de systèmes de fichiers Big Data distribués qui utilisent l'algorithme MapReduce.
Qu'est-ce qu'un système de fichiers distribué ?
Un système de fichiers distribué (DFS) est une méthode de stockage en informatique qui consiste à diviser de gros fichiers de données en petits morceaux et à les répartir sur plusieurs serveurs du système. Il permet aux clients de diverses sources d'écrire et de lire des données, de partager et d'exécuter une logique programmable sur les données, de n'importe où.
Un système de fichiers distribué se compose généralement du serveur principal (également appelé NameNode dans Hadoop), clusters parallèles et plusieurs nœuds ou serveurs contenant des blocs de données répliqués, le tout dans un ensemble de données centre. Cependant, chaque cluster du système de fichiers distribué contient des centaines, voire des milliers de ces nœuds.
Le serveur principal détecte automatiquement les modifications au sein des clusters. Ainsi, il peut attribuer des rôles en conséquence à chaque nœud.
Lorsque le serveur principal reçoit un fichier de données, il l'envoie aux clusters au sein du DFS. Ces clusters fragmentent et distribuent les données dans chaque nœud qu'ils contiennent. Chaque nœud réplique ensuite les données dans ce qu'on appelle des blocs de données pour former une chaîne. À ce stade, chaque nœud devient un serveur de blocs.
En rapport:Que sont les centres de données et pourquoi sont-ils importants ?
En plus de gérer l'accès aux données, le serveur principal contient une annotation de métadonnées sur chaque fichier. De cette façon, il sait quel nœud gère quel fichier dans chaque cluster.
Comment fonctionne MapReduce dans les systèmes de fichiers distribués ?
Comme mentionné précédemment, le Big Data est disponible dans plusieurs serveurs de blocs dans un DFS. Une façon d'effectuer une logique programmable sur ces fichiers de données consiste à les agréger en un seul. Vous pouvez ensuite les extraire dans un seul serveur, qui gère désormais la logique.
Bien qu'il s'agisse d'une manière conventionnelle d'interroger les données, le problème est que les données redeviennent un tout à l'intérieur du serveur unique. Ainsi, un seul serveur devra toujours gérer la logique sur plusieurs pétaoctets de données à la fois. Malheureusement, c'était le problème que le système avait l'intention de résoudre au départ. Ce n'est donc pas une bonne pratique, après tout.
En rapport:Comment interroger plusieurs tables de base de données à la fois avec des jointures SQL
De plus, une telle agrégation en un seul serveur pose plusieurs risques de performances. Celles-ci peuvent aller d'une panne de serveur, d'une faible efficacité de calcul, d'une latence élevée, d'une consommation de mémoire élevée et de vulnérabilités, etc.
Mais une autre façon d'exécuter la logique programmable consiste à laisser les données en morceaux à l'intérieur de chaque serveur distribué. Et puis injectez la fonction logique dans chaque serveur. Cela signifie que chaque serveur de blocs au sein d'un cluster gère désormais son calcul. L'utilisation de cette approche signifie qu'il n'est pas nécessaire d'agréger ou d'extraire des données sur un seul serveur.
Qu'il existe le concept MapReduce dans un système de fichiers de données distribué. Il garantit qu'un seul serveur n'a pas besoin d'extraire des données de la source. Au lieu de cela, il disperse la fonction de traitement (MapReduce) en plusieurs nœuds de bloc dans des clusters, de sorte que chaque nœud de chaque cluster gère la logique individuellement sans surcharger un seul serveur.
Par conséquent, plusieurs serveurs gèrent la logique sur des bits de données simultanément. Cette répartition du travail entre les serveurs se traduit par des performances optimales et une sécurité accrue, entre autres avantages.
Comment le résultat MapReduce est-il traité dans un DFS ?
Voici comment fonctionne l'ensemble du traitement MapReduce dans un DFS :
- Le serveur primaire reçoit une requête Big Data (fonction MapReduce) du client.
- Il l'envoie ensuite à chaque cluster pour le répartir sur chaque nœud qu'il contient.
- Chaque nœud traite la fonction MapReduce et cumule son résultat.
- Un autre serveur rassemble les résultats de chaque nœud et les renvoie au serveur principal.
- Le serveur principal envoie ensuite le résultat en réponse au client.
Ainsi, le seul travail d'un serveur primaire est d'envoyer un résultat facilement calculé au client, d'écouter les changements et de gérer l'accès aux données. Il n'effectue aucun calcul. C'est pourquoi la plupart des applications de cloud computing sont incroyablement rapides malgré la quantité de données qu'elles traitent.
Qu'est-ce que la carte et la réduction dans MapReduce ?
MapReduce utilise deux logiques de programmation pour traiter le Big Data dans un système de gestion de fichiers distribué (DFS). Il s'agit d'une carte et d'une fonction de réduction.
le carte La fonction effectue le travail de traitement sur chacun des nœuds de données dans chaque cluster d'un système de fichiers distribué. le réduire La fonction agrège ensuite les résultats renvoyés par chaque serveur de blocs et les transmet à un autre serveur au sein du DFS pour l'agrégation des résultats. Le serveur de réception envoie ce calcul au serveur principal, qui publie la valeur renvoyée sur le serveur côté client.
Que se passe-t-il lorsqu'un serveur Chunk tombe en panne ?
Les serveurs d'un système de fichiers distribué (DFS) peuvent parfois subir des temps d'arrêt. Vous pourriez penser que cela va casser tout le système, mais ce n'est pas le cas.
Il existe un système informatique qui empêche une telle panne imminente. C'est ce qu'on appelle la tolérance aux pannes.
En rapport:Qu'est-ce que l'informatique en nuage? Comment fonctionne la technologie cloud ?
Par conséquent, même lorsqu'un serveur s'éteint pendant le traitement des données, la tolérance aux pannes garantit que le serveur principal le détecte immédiatement. Et comme il existe une réplique des blocs de données sur les nœuds, le serveur principal transfère instantanément la tâche de traitement vers un autre serveur. De cette façon, les temps d'arrêt du serveur au sein du DFS n'affectent pas le traitement des données.
MapReduce facilite le traitement du Big Data
MapReduce est un modèle essentiel qui facilite l'informatique dans les systèmes de fichiers distribués. Parce qu'il permet à plusieurs nœuds d'exécuter un calcul simultanément, il s'agit d'une méthode rapide utilisée par divers géants de la technologie pour résoudre de nombreux problèmes qui accompagnent l'analyse de données volumineuses.
Google, Amazon, IBM, entre autres, sont des exemples d'entreprises qui utilisent ce concept. Google, par exemple, applique le concept MapReduce pour apporter des résultats de requête lors de la recherche Google.
Les mégadonnées alimentent de nombreuses industries et ont un effet sur nos vies à tous. Mais est-ce plus dangereux ou utile?
Lire la suite
- Programmation
- Programmation
- Big Data
- L'analyse des données
Idowu est passionné par tout ce qui concerne les technologies intelligentes et la productivité. Pendant son temps libre, il joue avec le codage et passe à l'échiquier quand il s'ennuie, mais il aime aussi rompre avec la routine de temps en temps. Sa passion pour montrer aux gens le chemin de la technologie moderne le motive à écrire davantage.
Abonnez-vous à notre newsletter
Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !
Cliquez ici pour vous abonner