20 ГБ не должны занимать много времени, хотя, если он распаковывается до 120 ГБ, это более существенная рабочая нагрузка;опишите, пожалуйста, какое оборудование вы используете.
По пути к spark-submit
я предполагаю, что вы используете дистрибутив MapR Hadoop.Включает ли это пользовательский интерфейс, дающий дополнительное представление о производительности?Особенно обратите внимание на использование памяти / сборку мусора.
Существуют ли какие-либо другие задания, выполняющиеся в вашем кластере, которые могут потреблять ресурсы?
Это 40 минут, чтобы просто загрузить данные, или это включаетваша обработка (имейте в виду, что Spark загружает данные лениво, поэтому время от времени может вводить в заблуждение)?
Главное, что я заметил, это то, что spark.yarn.executor.memory
не является допустимой настройкой искры, поэтому у ваших исполнителей может не хватитьпамять.
Вместо этого используйте настройку --executor-memory
.
Также добавьте флаг --verbose
и изучите вывод при запуске задания, чтобы убедиться, что настройки верны и анализируютсятак, как вы ожидаете.
Также проверьте журналы исполнителя, чтобы убедиться в отсутствии ошибок, особенно из-за нехватки памяти.
Незначительные наблюдения:
Вы устанавливаете spark.shuffle.spill.compress
дважды (безвредно, но не нужно)
Вы устанавливаете --num-executors
и spark.dynamicAllocation.enabled=true
, которые противоречивы и обычно приводят к предупреждениюсообщение о том, что динамическое размещение будет отключено.