img 0439 969 119
img carolyn@holidaysmargaretriver.com.au
img 4070 Caves Road, Wilyabrup
Modèle de programmation mapreduce

Modèle de programmation mapreduce
  • images

    Posted: 14/02/2019

  • images

    By:

  • images

    Categories:

  • images

    Comments: 0

La fonction map est appliquée en parallèle à chaque paire (clé par K1) dans le jeu de données en entrée. Ceci produit une liste de paires (indexées par K2) pour chaque appel. Après cela, le Framework MapReduce recueille toutes les paires avec la même clé (K2) de toutes les listes et les regroupe, créant un groupe pour chaque clé. Dans un cluster sécurisé, l`utilisateur est authentifié via la commande kinit de Kerberos. En raison des problèmes d`évolutivité, nous ne poussons pas les tickets Kerberos du client dans les tâches MapReduce. Au lieu de cela, nous acquérons des jetons de délégation de chaque NameNode HDFS que le travail utilisera et les stockera dans le travail dans le cadre de la soumission de travaux. Les jetons de délégation sont automatiquement obtenus pour le HDFS qui contient les répertoires intermédiaires, où les fichiers de travaux de travail sont écrits, et tous les systèmes HDFS référencés par FileInputFormats, FileOutputFormats, DistCp et le cache distribué. D`autres applications requièrent de définir la configuration «MapReduce. job. HDFS-Servers» pour tous les NameNodes que les tâches peuvent avoir besoin de parler pendant l`exécution du travail. Il s`agit d`une liste séparée par des virgules des noms de système de fichiers, tels que «hdfs://nn1/,hdfs://nn2/».

Ces jetons sont passés au JobTracker dans le cadre de la soumission de travail en tant qu`informations d`identification. Reporter est une installation pour les applications MapReduce pour signaler la progression, définir des messages d`État au niveau de l`application et mettre à jour les compteurs. Une fois que l`utilisateur configure que le profilage est nécessaire, il peut utiliser la propriété de configuration mapred. Task. Profile. {Maps | réduit} pour définir les plages de tâches MapReduce à profiler. La valeur peut être définie à l`aide de l`API JobConf. setProfileTaskRange (Boolean, String). Par défaut, la plage spécifiée est 0-2. Une autre tâche que MapReduce convient extrêmement bien est de trier un grand nombre d`enregistrements sur des fichiers distribués.

Certaines implémentations de MapReduce ont été en mesure de trier des milliards d`enregistrements dans un court laps de temps. L`implémentation d`une routine de tri MapReduce est illustrée ci-dessous. Dans l`exemple ci-dessous, la fonction Map () extrait la clé à utiliser pour le tri à partir de la valeur. La barrière entre Map () et Reduce () dans l`infrastructure MapReduce mélange la sortie de la fonction Map () dans l`ordre de tri approprié. Dans cet exemple, Reduce () fait très peu d`autres que passer dans la liste triée. Le Framework MapReduce fonctionne exclusivement sur des paires, c`est-à-dire que l`infrastructure considère l`entrée du travail comme un ensemble de paires et produit un ensemble de paires comme sortie du travail, en théorie de différents types. En général, les nœuds de calcul et les nœuds de stockage sont les mêmes, c`est-à-dire que l`infrastructure MapReduce et le système de fichiers distribués Hadoop (voir Guide de l`architecture HDFS) s`exécutent sur le même ensemble de nœuds. Cette configuration permet à l`infrastructure de planifier efficacement les tâches sur les nœuds où les données sont déjà présentes, ce qui entraîne une bande passante d`agrégation très élevée dans le cluster. Il est nécessaire, mais pas suffisant pour avoir des implémentations de la carte et de réduire les abstractions afin d`implémenter MapReduce.

Les implémentations distribuées de MapReduce requièrent un moyen de connecter les processus effectuant les phases Map et Reduce. Il peut s`agir d`un système de fichiers distribué. D`autres options sont possibles, telles que le streaming direct de mappeurs à réducteurs, ou pour les processeurs de mappage pour servir leurs résultats aux réducteurs qui les interrogent.