Oozie для окончательного статуса сбоя / успеха задания
Вы можете использовать Oozie для планирования этого задания Spark.Он будет использовать статус задания успешно или неудачно и передаст его следующему шагу в рабочем процессе в качестве аргумента.Вторым шагом в рабочем процессе Oozie может быть обновление базы данных с окончательным статусом.
Другие подходы к отлову исключений
отлов любого / первого исключения в действии обработки - используйте try-catch для драйвера - поместить действие сохранения в блок try-catch.
Этот подход описан здесь В частности, в разделе «Асинхронное выполнение и обработка исключений».
Если вы хотите перехватить все исключения, происходящие в каждой строке в фрейме данных , вам нужно использовать что-то вроде Аккумуляторы или Scala Попробуйте , чтобы собрать всеисключения и объединить их позже.Подробнее здесь
Задача / Этап / Прогресс выполнения использует SparkListeners
Прогресс может быть обновлен изнутри этой работы, нет кода для вопросапоэтому не могу точно определить, куда его поместить.
Проверьте Spark Listeners , чтобы получить время начала и окончания выполнения различных частей выполнения задания и использовать его для обновления прогресса в базе данных.
С уважением, Лукаш