версия spark: 2.4.4 scala: 2.11 развернуто в aws emr
conf кластера:
conf конф:
"--deploy-mode",
"cluster",
"--master",
"yarn",
"--conf",
"spark.sql.session.timeZone=Europe/Paris",
"--conf",
"spark.yarn.maxAppAttempts=1",
"--conf",
"spark.driver.maxResultSize=4g",
"--executor-cores",
"5",
"--conf",
"spark.sql.autoBroadcastJoinThreshold= 1073741824",
"--executor-memory",
"11g",
"--driver-memory",
"12g",
В1: Я бы загрузил папку с более чем 60 ГБ, у одного исполнителя есть еще одна задача, которую другие, и я не понимаю, почему еще одна задача.
Это потому, что результат ха sh функция для одной группы значений больше, так что этому исполнителю требуется еще одна задача для завершения sh? Q2: почему я получаю только 8 исполнителей?
с размером моего кластера 30 ГБ ОЗУ и документом aws, для приложения доступно более 22 ГБ, поэтому я Настройте 11 ГБ каждого исполнителя, и я ожидаю 20 исполнителей, так как у меня 10 машин.
Если я установлю - память исполнителя 6g , то спарк запустится максимум для 20 исполнителей, а если я установлю - executor- Память 8g , спарк запустят максимум 14 исполнителей. Я что-то не совсем понял насчет AWS EMR и мощности каждой машины.