Pour créer des travaux MapReduce, vous pouvez utiliser l'ancien org.Apache.hadoop.mapred
paquet ou le plus récent org.Apache.hadoop.mapreduce
Paquet pour les mappeurs et les réducteurs, les emplois ... Le premier avait été marqué comme obsolète, mais cela a été rétabli pendant ce temps. Maintenant, je me demande s'il est préférable d'utiliser l'ancien forfait Mapred ou le nouveau package MapReduce pour créer un emploi et pourquoi. Ou est-il juste dépendant de la question de savoir si vous avez besoin de choses comme le multiplatextOutputPormat qui est uniquement disponible dans l'ancien package Mapred?
Fonctionnalité sage Il n'y a pas beaucoup de différence entre l'ancien (o.a.h.mapred
) et le nouveau (o.a.h.mapreduce
) API. La seule différence significative est que les enregistrements sont poussés sur le mappeur/réducteur dans l'ancienne API. Alors que la nouvelle API prend en charge le mécanisme de tirage/poussée. Vous pouvez obtenir plus d'informations sur le mécanisme de tirage ici .
En outre, l'ancienne API a été non obsolète depuis 0,21. Vous pouvez trouver plus d'informations sur la nouvelle API ici .
Comme vous avez mentionné certaines des classes (comme MultipletextextOutputPormat) n'ont pas été migrées vers la nouvelle API, en raison de la raison et de la raison mentionnée ci-dessus, il est préférable de rester à l'ancienne API (bien qu'une traduction soit généralement assez simple).
Les anciennes et les nouvelles API sont bonnes. La nouvelle API est plus propre cependant. Utilisez la nouvelle API où vous pouvez et utilisez l'ancien où vous avez besoin de classes spécifiques qui ne sont pas présentes dans la nouvelle API (comme MultipleTextOutputFormat
)
Mais veillez à ne pas utiliser de mélange des anciennes et de nouvelles API dans le même emploi MapReduce. Cela conduit à des problèmes étranges.
Old API (Mapred)
Existe dans l'emballage org.apache.hadoop.mapred
Fournissez une carte de carte/réduisez la configuration du travail.
Nouvelle API (Mapreduce)
Existe dans l'emballage org.apache.hadoop.mapreduce
La configuration du travail est effectuée par classe distincte, appelée Jobconf qui est une extension de la configuration.
Classer
Réduit les valeurs d'une clé donnée, basée sur le démonteur