Какое количество ядер и исполнителей подходит для потокового приложения Spark?

У меня есть потоковое приложение Spark, которое читает из 4 разных тем Kafka, и у каждой темы есть 3 раздела. Операция чтения выполняется в разные моменты времени (у меня последовательно обрабатываются 4 конвейера), поэтому, по моей идее, мне нужно всего 3 исполнителя парка (по одному на каждый раздел каждой темы) с одним ядром в каждом. Подавая заявку таким образом, я вижу, что выполнение не распараллелено между исполнителем, и время обработки очень сильно зависит от сложности вычислений. Что не так с этим предположением?

Если я запускаю одно и то же приложение с 4 исполнителями по 4 ядра, то выполнение распараллеливается на всех исполнителях, и время обработки сокращается.

Мне интересно, существуют ли лучшие практики с точки зрения исполнителя для темы / раздела и ядер при использовании темы Kafka с Spark Streaming.

0 ответов

Другие вопросы по тегам