Мой ответ слишком длинен для комментария, поэтому извините, я не отвечаю напрямую на ваш вопрос. Я в основном говорю из опыта в своем ответе.
Если исключение выдается до этого уровня, вы можете в значительной степени предположить, что работа умрет. Я обнаружил, что просто пытаться снова или пытаться автоматически решить проблему в ответ на выбрасываемое исключение, бесполезно. Слишком много всего может пойти не так.
Обычно, когда работа, которая обычно работает нормально, дает сбой, в системе происходит что-то плохое, что необходимо исправить. Возможно, NameNode мертв, возможно, выключатель тупой, кто знает. К сожалению, эти вопросы требуют внимания человека.
По моему мнению, усилия по разработке лучше потратить на создание какой-либо инфраструктуры оповещения (обычно электронной почты), которая позволит вам знать, как только ваша работа не удастся ... вместо того, чтобы учитывать тонну угловых дел.
Как только вы обнаружите некоторые общие проблемы с вашим кластером и заданиями, вы можете начать встраивать обработку исключений в свои приложения. Я не думаю, что стоит потратить ваше время на то, чтобы все объяснить заранее.