На самом деле нет хорошего ответа, и это зависит от того, сколько памяти исполнителя + ядер у вас в кластере.
Жесткое ограничение состоит в том, что вы не можете иметь больше общих процессов-исполнителей, чем разделов kafka, и вы не хотите насыщать свою сеть или другие операции ввода-вывода.
Поэтому сначала найдите, если вы закрываете сеть и / или память / диски одним исполнителем, затем запустите два и посмотрите, не удваивается ли пропускная способность и скорость сети на одной машине вдвое.Затем масштабируйте ядра и экземпляры по мере необходимости.
Dropbox недавно написал блог об их тестировании производительности
Что касается СДР, предполагая, что у вас есть отображение 1: 1 дляэкземпляры executor для разбиения, тогда каждый исполнитель будет видеть 10-секундные данные за интервал только для одного раздела, и каждый исполнитель будет иметь свою собственную RDD для обработки, таким образом, таким образом будет обрабатываться 100 полных RDD на пакет.ИМО, «количество СДР» не так уж важно, потому что вы всегда получаете 1 СДР за интервал.