Size: a a a

2021 March 04

Igor  Master in Data Engineers
логика фильтрации не совсем тривиальная
источник

R

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

Igor  Master in Data Engineers
Наверное вы правы :) Шафлов не было. Все трансформации - narrow
источник

R

Roman in Data Engineers
Один из основных(а может и самый основной) выигрышь при использовании нескольких ядер на одного экзекьютера - это ведь сокращение шафла, точнее сокращение передачи данных по сети. Если есть ещё какие-то важные нюансы, то напишите, коллеги)
источник

Igor  Master in Data Engineers
Ну вот да эти ж JVMки будут между собой общаться по сети даже если они на одной машине физически
источник

AE

Alexey Evdokimov in Data Engineers
угу, чем меньше шафлов, тем меньше ядер на екзекутор дают лучшую скорость
источник

AE

Alexey Evdokimov in Data Engineers
оптимизировать можно по-всякому, но лучше всего сам расчётный код
источник

R

Roman in Data Engineers
Igor  Master
Ну вот да эти ж JVMки будут между собой общаться по сети даже если они на одной машине физически
"JVMки" почему во множественном числе? У вас же в один экзекьюетер, просто он в паралель лопатит столько тасков, сколько ядер вы на него выделили.
источник

AE

Alexey Evdokimov in Data Engineers
хотя конечная цена оптимизированного кода сильно выше чем цена тюнинга железа, даже виртуального
источник

Igor  Master in Data Engineers
Ну я имел в виду если взять 5 ядерную машину и выставить 1 ядро на экзекьютор - получится 5 джвм isn't it?
источник

Igor  Master in Data Engineers
Alexey Evdokimov
хотя конечная цена оптимизированного кода сильно выше чем цена тюнинга железа, даже виртуального
depens on обьемы данных
источник

AZ

Anton Zadorozhniy in Data Engineers
и архитектуры :(
источник

R

Roman in Data Engineers
Igor  Master
Ну я имел в виду если взять 5 ядерную машину и выставить 1 ядро на экзекьютор - получится 5 джвм isn't it?
да, если кол-во экзекьюеторв будет 5.
источник

Igor  Master in Data Engineers
Раз уж пошел такой разговор. Кто-то пытался dataframe в параллель процессить?
источник

AE

Alexey Evdokimov in Data Engineers
да и разработчики, которые могут писать на спарке без spark.sql, стоят дороже, чем те кто пишут на spark.sql
источник

Igor  Master in Data Engineers
грубо говоря есть
df.persist() 
[1,2,3].parallel.map( process(df))
источник

AS

Andrey Smirnov in Data Engineers
Igor  Master
грубо говоря есть
df.persist() 
[1,2,3].parallel.map( process(df))
а зачем, легче в mapPartinions это делать
источник

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

Igor  Master in Data Engineers
клиентов - до 6000
источник

AE

Alexey Evdokimov in Data Engineers
ну, можно ж партиционировать поклиентно, например
источник