Size: a a a

2020 July 22

AS

Andrey Smirnov in Data Engineers
Алексей
если не поддерживается, то сделать через OR или UNION
тут скорее AND
источник

А

Алексей in Data Engineers
Andrey Smirnov
тут скорее AND
имел в виду OR так:
(t._partition_key = '2020-01-01' AND t._subpartition_key = 'RU') OR (t._partition_key = '2020-01-02' AND t._subpartition_key = 'EN')
источник

SS

Sergey Sheremeta in Data Engineers
Sergey Sheremeta
коллеги! как-то можно в SparkSQL сделать такое?

select *
from silver_table t
where (t._partition_key, t._subpartition_key) IN ( ('2020-01-01', 'RU'), ('2020-01-02', 'EN') )
получилось так:

select *
from silver_table t
where (t._partition_key, t._subpartition_key) IN ( struct('2020-01-01' as _partition_key, 'RU' as _subpartition_key), struct('2020-01-02' as _partition_key, 'EN' as _subpartition_key) )
источник

А

Алексей in Data Engineers
partition pruning срабатывает?
источник

SS

Sergey Sheremeta in Data Engineers
Алексей
partition pruning срабатывает?
да
источник

А

Алексей in Data Engineers
отлично тогда, возьму на заметку
источник

SS

Sergey Sheremeta in Data Engineers
но у меня spark 3.0.0

я проверил с включенным и выключенным параметром "spark.sql.optimizer.dynamicPartitionPruning.enabled" - в обоих случаях прунинг сработал корректно.
наверное и в spark 2 будет работать
источник

EV

Eduard Vlasov in Data Engineers
Всем привет!
Подскажите плиз куда копать или какие параметры потюнить попробовать:

На EMR ловлю 503 Slow Down от S3 (судя по стеку это происходит в момент чтения данных)  Из-за этого часть тасков валится и после рестарта не может записать файл в целевую директорию в S3 так как файл уже существует, отчего весь джоб падает.

Исходно все расчеты это Spark SQL через  Spark Thrift server. EMR 5.29, EMRFS on.
источник

ME

Mikhail Epikhin in Data Engineers
Eduard Vlasov
Всем привет!
Подскажите плиз куда копать или какие параметры потюнить попробовать:

На EMR ловлю 503 Slow Down от S3 (судя по стеку это происходит в момент чтения данных)  Из-за этого часть тасков валится и после рестарта не может записать файл в целевую директорию в S3 так как файл уже существует, отчего весь джоб падает.

Исходно все расчеты это Spark SQL через  Spark Thrift server. EMR 5.29, EMRFS on.
Ну тут надо писать в техническую поддержку и только ретраи крутить:)
источник

ME

Mikhail Epikhin in Data Engineers
Много мелких файликов?
источник

EV

Eduard Vlasov in Data Engineers
Много больших файлов я б сказал :)
источник

EV

Eduard Vlasov in Data Engineers
если кластер маленький - работает
источник

ME

Mikhail Epikhin in Data Engineers
источник

EV

Eduard Vlasov in Data Engineers
если заскейлить до обычного рамера начинает ругаться
источник

ME

Mikhail Epikhin in Data Engineers
There are three ways to resolve this problem:

   Add more prefixes to the S3 bucket.
   Reduce the number of Amazon S3 requests.
   Increase the EMR File System (EMRFS) retry limit.
источник

ME

Mikhail Epikhin in Data Engineers
Eduard Vlasov
если кластер маленький - работает
ну скорее всего экзекьютеров мало и число rps небольшое
источник

ME

Mikhail Epikhin in Data Engineers
а когда скейлите — упираетесь
источник

EV

Eduard Vlasov in Data Engineers
тут ретрай лимит не работает
источник

EV

Eduard Vlasov in Data Engineers
потому что он не делает перезапись того что таск уже понаписал в s3 до падения
источник

EV

Eduard Vlasov in Data Engineers
(это я так корневую проблему понимаю)
источник