Я пытаюсь оптимизировать приложение Spark Streaming, которое собирает данные из кластера Kafka, обрабатывает их и сохраняет результаты в различных таблицах базы данных. На вкладке «Задания» в пользовательском интерфейсе Spark отображается продолжительность каждого задания, а также время его отправки.
Я ожидаю, что для определенного пакета задание начинает обрабатываться, когда предыдущее задание выполнено. Однако на прикрепленном снимке экрана «Отправленное» время работы не сразу после завершения предыдущего. Например, длительность задания 1188 составляет 1 секунду, и оно было отправлено в 12:02:12. Я ожидаю, что следующее задание будет отправлено через секунду или, по крайней мере, близко к нему, но вместо этого оно было отправлено через шесть секунд.
Есть идеи, как объяснить эту задержку? Эти задания принадлежат одной и той же партии и выполняются последовательно. Я знаю, что существует некоторая задержка планирования между заданиями и заданиями, но я не ожидаю, что она будет такой большой. Кроме того, временная шкала события этапа не показывает большой задержки планирования.
Я использую Pyspark в автономном режиме.