Accueil Finances personnelles Comment utiliser MapReduce pour le Big Data - dummies

Comment utiliser MapReduce pour le Big Data - dummies

Table des matières:

Vidéo: MapReduce - Hadoop | Serge Abiteboul 2025

Vidéo: MapReduce - Hadoop | Serge Abiteboul 2025
Anonim

MapReduce est un framework logiciel idéal pour les big data car il permet aux développeurs d'écrire des programmes capables de traiter de grandes quantités de données non structurées en parallèle à travers un groupe distribué de processeurs.

La fonction de carte pour Big Data

La fonction map fait partie de nombreux langages de programmation fonctionnels depuis des années. La carte a été revigorée en tant que technologie de base pour le traitement des listes d'éléments de données.

Les opérateurs dans les langages fonctionnels ne modifient pas la structure des données; ils créent de nouvelles structures de données en tant que leur sortie. Les données originales elles-mêmes ne sont pas modifiées non plus. Vous pouvez donc utiliser la fonction de carte en toute impunité, car elle ne nuira pas à vos précieuses données stockées.

Un autre avantage de la programmation fonctionnelle est de ne pas avoir à gérer expressément le mouvement ou le flux des données. Cela absout le programmeur de gérer explicitement la sortie de données et le placement. Enfin, l'ordre des opérations sur les données n'est pas prescrit.

Une façon d'accomplir la solution est d'identifier les données d'entrée et de créer une liste:

mylist = ("tous les comtés américains qui ont participé aux dernières élections générales") > Créez la fonction howManyPeople en utilisant la fonction map

. Ceci sélectionne uniquement les comtés de plus de 50 000 personnes: map howManyPeople (mylist) = [howManyPeople "county 1"; combien de gens "comté 2"; combien de gens "comté 3"; combien de gens "comté 4"; …]

Produisez maintenant une nouvelle liste de sortie de tous les comtés de plus de 50 000 habitants:

(non, comté 1; oui, comté 2; non, comté 3; oui, comté 4;?, Comté nnn)
La fonction s'exécute sans apporter de modifications à la liste d'origine. En outre, vous pouvez voir que chaque élément de la liste de sortie correspond à un élément correspondant de la liste d'entrée, avec un oui ou un non joint. Si le comté a rencontré l'exigence de plus de 50 000 personnes, la fonction de carte l'identifie par un oui. Sinon, un non est indiqué.

Ajouter la fonction de réduction pour les données volumineuses

Comme la fonction de carte,

réduire est une caractéristique des langages de programmation fonctionnels depuis de nombreuses années. La fonction de réduction prend la sortie d'une fonction de carte et "réduit" la liste de la manière souhaitée par le programmeur. La première étape de la fonction de réduction consiste à placer une valeur dans un élément appelé

accumulateur , qui contient une valeur initiale. Après avoir stocké une valeur de départ dans l'accumulateur, la fonction de réduction traite chaque élément de la liste et effectue l'opération dont vous avez besoin dans la liste.

A la fin de la liste, la fonction de réduction renvoie une valeur basée sur l'opération que vous souhaitez effectuer dans la liste de sortie.

Supposons que vous deviez identifier les comtés où la majorité des votes étaient pour le candidat démocrate. Rappelez-vous que votre fonction de carte howManyPeople a regardé chaque élément de la liste d'entrée et a créé une liste de sortie des comtés avec plus de 50 000 personnes (oui) et les comtés avec moins de 50 000 personnes (non).

Après l'appel de la fonction howManyPeople, vous obtenez la liste de sortie suivante:

(non, comté 1, oui, comté 2, non, comté 3, oui, comté 4;, comté nnn)

Ceci est maintenant l'entrée pour votre fonction de réduction. Voici à quoi cela ressemble:

countylist = (non, comté 1; oui, comté 2; non, comté 3; oui, comté 4;?, Comté nnn) réduire isDemocrat (countylist)

La fonction de réduction des processus chaque élément de la liste et renvoie une liste de tous les comtés avec une population supérieure à 50 000, où la majorité a voté démocrate.

Mettre la grande carte de données et réduire ensemble

Parfois, produire une liste de sortie est juste suffisant. De même, il est parfois suffisant d'effectuer des opérations sur chaque élément d'une liste. Le plus souvent, vous souhaitez parcourir de grandes quantités de données d'entrée, sélectionner certains éléments dans les données, puis calculer quelque chose de valeur à partir des données pertinentes.

Vous ne voulez pas modifier cette liste d'entrée afin de pouvoir l'utiliser de différentes manières avec de nouvelles hypothèses et de nouvelles données.

Les développeurs de logiciels conçoivent des applications basées sur des algorithmes. Un

algorithme n'est rien d'autre qu'une série d'étapes qui doivent se produire dans le cadre d'un objectif global. Cela peut ressembler à ceci: Commencez avec un grand nombre de données ou d'enregistrements.

  1. Itérer sur les données.

  2. Utilisez la fonction de carte pour extraire quelque chose d'intéressant et créer une liste de sortie.

  3. Organiser la liste de sortie à optimiser pour un traitement ultérieur.

  4. Utilisez la fonction de réduction pour calculer un ensemble de résultats.

  5. Produire la sortie finale.

  6. Les programmeurs peuvent implémenter toutes sortes d'applications en utilisant cette approche, mais les exemples à ce stade ont été très simples, donc la valeur réelle de MapReduce peut ne pas être apparente. Que se passe-t-il lorsque vous avez des données d'entrée extrêmement volumineuses? Pouvez-vous utiliser le même algorithme sur des téraoctets de données? Les bonnes nouvelles sont oui.

Toutes les opérations semblent indépendantes. C'est parce qu'ils sont. Le pouvoir réel de MapReduce est la capacité de diviser et de conquérir. Prenez un très gros problème et divisez-le en morceaux plus petits et plus faciles à gérer, opérez sur chaque morceau indépendamment, puis tirez-le tous ensemble à la fin. De plus, la fonction de carte est commutative - en d'autres termes, l'ordre d'exécution d'une fonction n'a pas d'importance.

MapReduce peut donc effectuer son travail sur différentes machines d'un réseau. Il peut également tirer de multiples sources de données, internes ou externes. MapReduce garde trace de son travail en créant une clé unique pour s'assurer que tout le traitement est lié à la résolution du même problème.Cette touche est également utilisée pour rassembler toutes les sorties à la fin de toutes les tâches distribuées.

Comment utiliser MapReduce pour le Big Data - dummies

Le choix des éditeurs

À Quoi s'attendre après l'examen PHR / SPHR - les nuls

À Quoi s'attendre après l'examen PHR / SPHR - les nuls

Félicitations. Vous avez cliqué sur le bouton d'arrivée et terminé l'expérience éprouvante de passer l'examen PHR ou SPHR. Cependant, avant que vous puissiez partir, vous avez quelques petites tâches à faire - le plus important étant de recevoir votre score. Voici ce que vous devez faire après avoir fini. Répondre à l'enquête Avant de découvrir comment vous ...

L'ABC de la journée d'examen PHR / SPHR - les nuls

L'ABC de la journée d'examen PHR / SPHR - les nuls

Quelques facteurs communs peuvent contribuer au succès PHR / SPHR jour de test, peu importe votre éducation ou votre expérience. Voici trois conseils importants qui peuvent vous aider à vous mettre dans le bon état d'esprit. Attitude: Croyez que vous pouvez réussir Effectuez une recherche sur Internet sur le terme «le pouvoir de la pensée positive» et vous pouvez ...

Utiliser l'analyse PEST pour interpréter les objectifs d'examen PHR / SPHR - les nuls

Utiliser l'analyse PEST pour interpréter les objectifs d'examen PHR / SPHR - les nuls

Que vous pouvez utiliser l'analyse PEST - les changements politiques, économiques, sociaux et technologiques - pour interpréter un objectif d'examen PHR / SPHR boueux dans le cadre de vos efforts d'étude. Les suggestions comprennent les besoins en RH tels que la toxicomanie, l'organisation syndicale et l'embauche d'anciens combattants. Le rôle des RH a continué d'évoluer parallèlement aux besoins des employeurs ...

Le choix des éditeurs

Ce qui fait une bonne application iOS - les nuls

Ce qui fait une bonne application iOS - les nuls

Vous utilisez le même kit de développement logiciel et une grande partie du même code pour développer des applications iPad, iPhone et iPod touch. L'iPad fonctionne avec le même système d'exploitation que l'iPhone et l'iPod touch. Cependant, l'iPad est un appareil plus grand avec plus de puissance et un affichage plus grand, comme le montre cette figure. Pour beaucoup ...

Que faire des interruptions de votre application iOS? Mannequins

Que faire des interruptions de votre application iOS? Mannequins

Sur un appareil iOS en cours d'exécution iOS 4. 2 ou versions plus récentes, divers événements autres que la résiliation peuvent interrompre votre application pour permettre à l'utilisateur de répondre - par exemple, des alertes de calendrier ou l'utilisateur en appuyant sur le bouton Veille / Réveil - et votre application passe à l'état inactif. Si l'utilisateur choisit d'ignorer une interruption, votre application ...

Quand utiliser Sous-classe dans iOS 6 Développement d'applications - les sous-clichés

Quand utiliser Sous-classe dans iOS 6 Développement d'applications - les sous-clichés

Vous permettent de personnaliser comportements pendant que vous développez votre application iOS. Gardez à l'esprit les points suivants concernant le sous-classement lorsque vous développez votre application: Au cours de la première étape, vous créez une nouvelle classe, appelée sous-classe, héritant des propriétés d'une autre classe (super). ...

Le choix des éditeurs

Transfert d'images numériques de votre appareil photo vers votre ordinateur Windows - mannequins

Transfert d'images numériques de votre appareil photo vers votre ordinateur Windows - mannequins

Vous pouvez facilement transférer des images votre appareil photo numérique à votre ordinateur. Ce transfert de caméra à ordinateur nécessite que vous ayez installé le pilote de votre caméra sur votre PC. Pour transférer des photos de votre appareil photo numérique ou de votre lecteur de cartes sur votre PC

Transfert de photos numériques de votre carte mémoire vers votre ordinateur avec un adaptateur de carte PC

Transfert de photos numériques de votre carte mémoire vers votre ordinateur avec un adaptateur de carte PC

De nombreux ordinateurs portables ont un emplacement pour connecter des périphériques PC Card (tels que des modems). Vous pouvez acheter un adaptateur pour vos cartes mémoire afin qu'elles s'adaptent à ces emplacements. Après avoir installé le logiciel d'une carte (suivez les instructions fournies avec votre carte), transférer des fichiers image sur votre ordinateur est un jeu d'enfant: