Dans ce tutoriel Hadoop , nous allons vous fournir une introduction complète à MapReduce Key Value Pair.
Tout d'abord, nous discuterons de ce qu'est une paire clé-valeur dans Hadoop, comment la paire clé-valeur est générée dans MapReduce. Enfin, nous expliquerons la génération de paires clé-valeur MapReduce avec des exemples.
Qu'est-ce que la paire clé-valeur dans Hadoop ?
La paire clé-valeur dans MapReduce est l'entité d'enregistrement que Hadoop MapReduce accepte pour l'exécution.
Nous utilisons Hadoop principalement pour l'analyse des données. Il traite des données structurées, non structurées et semi-structurées. Avec Hadoop, si le schéma est statique, nous pouvons directement travailler sur la colonne au lieu de la valeur de la clé. Mais, si le schéma n'est pas statique, nous travaillerons sur une valeur clé.
La valeur des clés n'est pas les propriétés intrinsèques des données. Mais ils sont choisis par l'utilisateur analysant les données.
MapReduce est le composant central de Hadoop, qui assure le traitement des données. Il effectue le traitement en divisant la tâche en deux phases :Phase de carte et Réduire la phase . Chaque phase a une clé-valeur en entrée et en sortie.
MapReduce Génération de paires clé/valeur dans Hadoop
Lors de l'exécution d'une tâche MapReduce, avant d'envoyer des données au mapper , convertissez-le d'abord en paires clé-valeur. Parce que mapper uniquement les paires clé-valeur de données.
La paire clé-valeur dans MapReduce est générée comme suit :
InputSplit – C'est la représentation logique des données qui InputFormat génère. Dans le programme MapReduce, il décrit une unité de travail qui contient une seule tâche cartographique.
RecordReader – Il communique avec l'InputSplit. Après cela, il convertit les données en paires clé-valeur adaptées à la lecture par le mappeur. Par défaut, RecordReader utilise TextInputFormat pour convertir les données en paires clé-valeur.
Dans l'exécution de la tâche MapReduce, la fonction map traite une certaine paire clé-valeur. Puis émet un certain nombre de paires clé-valeur. La fonction Réduire traite les valeurs regroupées par la même clé.
Émet ensuite un autre ensemble de paires clé-valeur en sortie. Les types de sortie de la carte doivent correspondre aux types d'entrée de la réduction, comme indiqué ci-dessous :
- Carte : (K1, V1) -> liste (K2, V2)
- Réduire : {(K2, liste (V2}) -> liste (K3, V3)
Sur quelle base une paire clé-valeur est-elle générée dans Hadoop ?
MapReduce La génération de paires clé-valeur dépend totalement de l'ensemble de données. Dépend également de la sortie requise. Le framework spécifie la paire clé-valeur à 4 endroits :Mapper l'entrée/la sortie, Réduire l'entrée/la sortie.
1. Entrée de carte
Map Input utilise par défaut le décalage de ligne comme clé. Le contenu de la ligne a la valeur Text. Nous pouvons les modifier; en utilisant le format d'entrée personnalisé.
2. Sortie de la carte
La carte est chargée de filtrer les données. Il fournit également l'environnement pour regrouper les données sur la base de la clé.
- Clé– C'est le champ/texte/objet sur lequel les données sont regroupées et agrégées sur le réducteur .
- Valeur– C'est le champ/texte/objet que chaque méthode de réduction individuelle gère.
3. Réduire l'entrée
La sortie de la carte est une entrée à réduire. C'est donc la même chose que Map-Output.
4. Réduire la sortie
Cela dépend totalement de la sortie requise.
Exemple de paire clé-valeur MapReduce
Par exemple, le contenu du fichier qui HDFS les magasins sont Chandler est Joey Mark est John . Donc, maintenant, en utilisant InputFormat, nous allons définir comment ce fichier sera divisé et lu. Par défaut, RecordReader utilise TextInputFormat pour convertir ce fichier en une paire clé-valeur.
- Clé – Il s'agit du décalage du début de la ligne dans le fichier.
- Valeur – Il s'agit du contenu de la ligne, à l'exclusion des fins de ligne.
Tiens,Clé est 0 et Valeur est Chandler est Joey Mark est John.
Conclusion
En conclusion, nous pouvons dire que la clé-valeur n'est qu'une entité d'enregistrement que MapReduce accepte pour l'exécution. InputSplit et RecordReader génèrent une paire clé-valeur. Par conséquent, la clé est le décalage d'octet et la valeur est le contenu de la ligne.
J'espère que vous avez aimé ce blog. Si vous avez des suggestions ou des questions concernant la paire clé-valeur MapReduce, veuillez laisser un commentaire dans une section ci-dessous.