Size: a a a

2021 March 04

AE

Alexey Evdokimov in Data Engineers
ну XL пресет для кластера так выглядит (есть и больше)

create.ini.custom.node.sizes=yes
create.ini.node.size.master=c5.2xlarge
create.ini.cluster.worker.nodes=18
create.ini.node.size.core=r5.16xlarge
create.ini.volume.size.master=40
create.ini.volume.size.core=5000
create.ini.cluster.worker.node.vcore.size=64
spark.ini.spark.executor.memory=4000m
spark.ini.spark.executor.instances=1152
spark.ini.spark.cores.max=1152
spark.ini.spark.executor.cores=1
spark.ini.spark.driver.cores=36
spark.ini.spark.driver.memory=300000m
spark.ini.spark.driver.maxResultSize=500g
источник

Igor  Master in Data Engineers
А почему spark.ini.spark.executor.cores=1?
источник

Igor  Master in Data Engineers
Советуют же давать столько ядер сколько есть на машинке.
источник

R

Roman in Data Engineers
Ого, 36 ядер на драйвере и по одному на экзекьютере, интересный кейс)
источник

AE

Alexey Evdokimov in Data Engineers
18 нод r5.xlarge
источник

AE

Alexey Evdokimov in Data Engineers
хехе
источник

AE

Alexey Evdokimov in Data Engineers
наши задачи сильно CPU-bound, но очень хорошо параллелятся
источник

Igor  Master in Data Engineers
но ведь это ведет к тому что по сути будет JVM'ka per ядро
источник

AE

Alexey Evdokimov in Data Engineers
угу, и это как раз что надо
источник

R

Roman in Data Engineers
Igor  Master
Советуют же давать столько ядер сколько есть на машинке.
вроде бы самый оптимум в среднем - это 5 ядер, на экзекьютера, по ряду причин.
https://blog.cloudera.com/how-to-tune-your-apache-spark-jobs-part-2/
https://medium.com/expedia-group-tech/part-3-efficient-executor-configuration-for-apache-spark-b4602929262
источник

Igor  Master in Data Engineers
Overhead же JVM'ок?
источник

Igor  Master in Data Engineers
Вот я такой вопрос задавал на Spark Summit в Амстере чувакам из Databricks и услышал ровно то же самое
источник

Igor  Master in Data Engineers
Ах да еще ядро на YARN!
источник

Igor  Master in Data Engineers
Спасибо за линки
источник

R

Roman in Data Engineers
Igor  Master
Вот я такой вопрос задавал на Spark Summit в Амстере чувакам из Databricks и услышал ровно то же самое
Что оптимально - это 5?
Вообще когда находил объяснение в контексте пропускной способоности в hdfs. Точно не помню мысль уже даже, но там было грамотно с графиками, поэтому у меня и отложилась цифра 5.
источник

Igor  Master in Data Engineers
Ну они  не так говорили они говорили что не стоит по одному делать и скорей искать то что вам подходит
источник

АЖ

Андрей Жуков... in Data Engineers
Igor  Master
Вот я такой вопрос задавал на Spark Summit в Амстере чувакам из Databricks и услышал ровно то же самое
дык прям на сессии по оптимизации шла речь про ядра
источник

Igor  Master in Data Engineers
Мы же в своих тестах пришли к тому что это никак особо на перфоманс не повлияло. Конфигурация была 300 экзекьюторов на террабайтный датасет
источник

AZ

Anton Zadorozhniy in Data Engineers
Igor  Master
Мы же в своих тестах пришли к тому что это никак особо на перфоманс не повлияло. Конфигурация была 300 экзекьюторов на террабайтный датасет
IO-bound job?
источник

Igor  Master in Data Engineers
Ну не сказал бы. Есть датасет в нем куча инфы про всех пользователей - нужно для каждого пользователя отфильтровать его сабсет. и сохранить в его папочку.
источник