Я столкнулся с проблемой и подумал о том, на какой вопрос я не нашел ответа. И это значит, Как я могу преднамеренно сделать шаг AWS EMR? У меня есть скрипт Spark Scala, который добавляется как шаг Spark с некоторыми аргументами командной строки, а вывод скрипта записывается в S3.Как вручную сделать шаг AWS EMR сбой
Но если что-то пойдет не так, прочитав и обработав аргументы командной строки, тогда логика сценария будет пропущена, а скрипт закончится. Но для EMR это нормальное поведение, он не знает, что блок if не был введен.
И после «неудачного» запуска статус шага по-прежнему изменяется на «Завершено», и кажется, что он был успешным без того, что результаты были записаны на S3.
Я хочу завершить шаг так, чтобы он находился в состоянии «Сбой».
Я могу сделать это, выбросив исключение, а затем я увижу соответствующее исключение с моим сообщением в журналах ошибок шага EMR. Но есть ли лучший способ? Я хотел бы обойти все свои исключения самостоятельно, вручную.
И кроме того, могу ли я использовать AWS SDK, чтобы как-то программно узнать причину отказа шага?
К сожалению, у меня нет доступа к AWS ОМУ в настоящее время больше (и не видит смысла в создании личной учетной записи AWS только для тестирования этого ответа, так Я бы отметил это правильно, поскольку это имеет смысл. Если бы кто-то мог проверить это, я был бы признателен! –
Привет, Я столкнулся с аналогичной проблемой, но в моем случае я вставляю сообщение журнала в dynamoDB перед возвратом -1 (System.exit (-1)). Шаг не выполняется, но эта запись в dynamoDB вставлена дважды. –