Установка spark.executor.cores
на 5 или менее обычно считается наиболее оптимальной для пропускной способности ввода-вывода HDFS. Вы можете прочитать больше об этом здесь (или Google другие статьи):
https://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/
Каждый раздел Kafka сопоставляется с искровым ядром, а не исполнителем (одно искровое ядро может иметь несколько разделов Kafka, но каждый раздел Kafka будет иметь ровно одно ядро).
Решение о том, какие именно числа вам нужны, зависит от многих других факторов, таких как поток ваших приложений (например, если вы не выполняете случайное перемешивание, общее количество ядер должно соответствовать вашим разделам Kafka), объем памяти и требования и т. Д.
Вы можете поиграть с конфигурациями и использовать метрики искры, чтобы решить, обрабатывает ли ваше приложение пропускную способность.