Как оказалось, нет хорошего способа сделать это;после того, как задание было убито, невозможно создать экземпляр этого задания и возобновить обработку непосредственно перед первым сбоем.Вероятно, есть несколько действительно веских причин для этого, но я не имею права говорить об этой проблеме.
В моем собственном случае я обрабатывал большой набор файлов журналов и загружал эти файлы в индекс.Кроме того, я одновременно создавал отчет о содержании этих файлов.Чтобы сделать работу более терпимой к сбоям на стороне индексации (побочный эффект, это вообще не связано с Hadoop), я изменил свою работу, вместо этого создал много меньших заданий, каждое из которых обрабатывает кусокэти файлы журнала.Когда одно из этих заданий завершается, оно переименовывает обработанные файлы журнала, чтобы они больше не обрабатывались.Каждое задание ожидает завершения предыдущего задания перед выполнением.
При сбое одного задания всепоследующие работы быстро терпят неудачу впоследствии.Простое устранение проблемы и повторная отправка моей работы, примерно, начнут обрабатывать с того места, на котором она остановилась.В худшем случае, когда задание было выполнено на 99% во время сбоя, одно задание будет ошибочно и расточительно обработано.