Я наблюдаю поведение, при котором искровая работа сбрасывает исполнителей при чтении данных из HDFS.Ниже приведена конфигурация для искровой оболочки.
spark-shell \
--executor-cores 5 \
--conf spark.shuffle.compress=true \
--executor-memory=4g \
--driver-memory=4g \
--num-executors 100
запрос: spark.sql("select * from db.table_name").count
Этот конкретный запрос будет ускорять ~ 40000 задач.Во время выполнения количество запущенных задач начинается с 500, затем число запущенных задач медленно падает до ~ 0 (у меня достаточно ресурсов), а затем внезапно увеличивается до 500 (динамическое распределение отключено).Я пытаюсь понять причину такого поведения и пытаюсь найти возможные способы избежать этого.Это падение и всплеск происходят только тогда, когда я пытаюсь прочитать этап, все промежуточные этапы будут выполняться параллельно без таких огромных всплесков.
Я буду рад предоставить любую недостающую информацию.