2010-11-12 5 views
4

Je souhaite chaîner 2 travaux de mappage/réduction. J'essaie d'utiliser JobControl pour atteindre la même chose. Mon problème est -Carte Hadoop/Réduire le chaînage

JobControl a besoin de org.apache.hadoop.mapred.jobcontrol.Job qui à son tour a besoin de org.apache.hadoop.mapred.JobConf qui est obsolète. Comment contourner ce problème pour chaîner ma carte/réduire?

Tout le monde a de meilleures idées pour enchaîner (autre que Cascading).

Merci, M

+0

J'ai le même problème et je me demande ce que vous avez fait pour résoudre ce problème? Je préférerais juste utiliser le paquet hadoop au lieu d'en utiliser un nouveau (et les classes qui ne sont pas obsolètes :)) –

+0

J'ai fini par ne pas utiliser de chaînage .. Il s'avère que je compliquais mon problème .. J'ai cependant eu recours à utiliser le JobConf déconseillé pour une tâche différente, parce que je ne pouvais pas accéder aux journaux de tâches autrement. – Meg

+0

Pourquoi ne partagez-vous pas votre solution? Répondez à votre propre question et acceptez cette réponse comme réponse à votre question. – Gumbo

Répondre

0

Vous pouvez utiliser Riffle, il vous permet d'enchaîner des processus arbitraires ensemble (tout ce que vous tenez ses annotations).

Il dispose d'un planificateur de dépendances rudimentaire, il va donc commander et exécuter vos travaux pour vous. Et c'est Apache sous licence. C'est aussi sur le Conjars repo si vous êtes un utilisateur Maven.

Je suis l'auteur, et l'ai écrit afin que Mahout et d'autres applications personnalisées puissent avoir un outil commun qui soit également compatible avec les flux en cascade. Je suis également l'auteur de Cascading. Mais MapReduceFlow + Cascade en cascade fonctionne plutôt bien pour la plupart des chaines de travail MR brutes.

0

Cloudera dispose d'un outil de workflow appelé Oozie qui peut aider à ce genre de chaîner. Peut-être exagéré d'avoir juste un travail à exécuter après l'autre.