Это может быть очень общий вопрос c, но надеюсь, что кто-то может указать намек. Но я обнаружил, что иногда моя искра работы, кажется, многократно падала на «паузу»:
Естественно, что задание таково: чтение или c файлы (из таблицы кустов), фильтрация по определенным столбцам, нет соединения, а затем запишите в другую таблицу улья.
Для моей работы / этапа было выполнено всего 64 КБ заданий (FileScan или c, затем фильтр, проект).
Приложение имеет 500 исполнителей, у каждого по 4 ядра. Первоначально, около 2000 задач выполнялись одновременно, все выглядит хорошо.
Через некоторое время я заметил, что число запущенных задач упало почти до 100. Многие ядра / исполнители просто ждали, ничего не делая. (Я проверил журнал этих ожидающих исполнителей, ошибки не было. Все назначенные задачи были выполнены на них, они просто ждали)
Примерно через 3-5 минут эти ожидающие исполнители неожиданно получили назначенные задачи и теперь работали счастливо.
Какие-то конкретные причины это может быть? Приложение запускается из спарк-оболочки (--master yarn - клиент режима deploy, с указанием количества исполнителей / размеров и т. Д. c. *)
Спасибо!