Журнал статуса работы Spark - PullRequest
       2

Журнал статуса работы Spark

0 голосов
/ 27 сентября 2018

У нас есть код Spark, написанный на Scala, единственное действие - сохранить данные обратно на Cassandra.Также мы хотим записать время начала действия, время окончания и статус в другой таблице, чтобы отследить его.Для этого нужна обработка ошибок.Как мы можем сделать эту запись с сообщением об ошибке в другой таблице при выполнении действия?Например, если запуск выполнен успешно, он будет иметь статус «Успешно», а в случае неудачи - «Сбой» с сообщением об ошибке в другом столбце.

Требуется помощь.

1 Ответ

0 голосов
/ 27 сентября 2018

Oozie для окончательного статуса сбоя / успеха задания

Вы можете использовать Oozie для планирования этого задания Spark.Он будет использовать статус задания успешно или неудачно и передаст его следующему шагу в рабочем процессе в качестве аргумента.Вторым шагом в рабочем процессе Oozie может быть обновление базы данных с окончательным статусом.

Другие подходы к отлову исключений

отлов любого / первого исключения в действии обработки - используйте try-catch для драйвера - поместить действие сохранения в блок try-catch.

Этот подход описан здесь В частности, в разделе «Асинхронное выполнение и обработка исключений».

Если вы хотите перехватить все исключения, происходящие в каждой строке в фрейме данных , вам нужно использовать что-то вроде Аккумуляторы или Scala Попробуйте , чтобы собрать всеисключения и объединить их позже.Подробнее здесь

Задача / Этап / Прогресс выполнения использует SparkListeners

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

Проверьте Spark Listeners , чтобы получить время начала и окончания выполнения различных частей выполнения задания и использовать его для обновления прогресса в базе данных.

С уважением, Лукаш

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...