2010-11-12 2 views
4

Я хочу связать 2 Map/Reduce jobs. Я пытаюсь использовать JobControl для достижения того же. Моя проблема:Hadoop map/reduce chaining

JobControl требуется org.apache.hadoop.mapred.jobcontrol.Job, который в свою очередь нуждается в org.apache.hadoop.mapred.JobConf, который устарел. Как мне решить эту проблему, чтобы связать мою карту/уменьшить?

У кого-нибудь есть лучшие идеи для цепочки (кроме каскадирования).

Спасибо, M

+0

У меня такая же проблема, и мне интересно, что вы сделали, чтобы решить эту проблему? Я бы предпочел просто использовать пакет hasoop вместо использования нового (и классы, которые не устарели :)) – 2011-01-21 18:29:37

+0

В итоге я не использовал цепочку. Оказывается, я затруднял мою проблему. Однако я прибегал к используя устаревший JobConf для другой задачи, потому что я не мог попасть в журнал задач любым другим способом. – Meg

+0

Почему бы вам не поделиться своим решением? Ответьте на свой вопрос и принимайте этот ответ как ответ на свой вопрос. – Gumbo

ответ

0

Вы можете использовать Riffle, что позволяет цепи произвольных процессов вместе (все, что вы будете придерживаться своих аннотаций на).

Он имеет рудиментарный планировщик зависимости, поэтому он будет заказывать и выполнять ваши задания за вас. И это лицензия на Apache. Его также на Conjars repo, если вы пользователь maven.

Я автор и написал его так, чтобы Mahout и другие пользовательские приложения могли иметь общий инструмент, который также был совместим с каскадными потоками.

Я также являюсь автором Cascading. Но MapReduceFlow + Cascade в Cascading работает достаточно хорошо для большинства необработанных цепочек заданий MR.

0

Cloudera имеет инструмент под названием рабочего процесса Oozie, который может помочь с такого рода цепочки. Может быть слишком много, чтобы получить одно задание за другим.