Size: a a a

2021 June 03

A

Alexander in Data Engineers
Раз в сутки
источник

AZ

Anton Zadorozhniy in Data Engineers
Spark.streaming.receiver.maxRate ?
источник

A

Alexander in Data Engineers
Под рукой нет. На что влияет? Могу позже вернуться с ответом
источник

AZ

Anton Zadorozhniy in Data Engineers
Maximum rate (number of records per second) at which each receiver will receive data. Effectively, each stream will consume at most this number of records per second. Setting this configuration to 0 or a negative number will put no limit on the rate.
источник

A

Alexander in Data Engineers
Сложность задачи в том, что нужно управлять потоком в динамике. Например одна из таблиц заливается 6 часов на «ночной» скорости. Высока вероятность, что не зальется до начала «дневных» часов когда скорость нужно снижать
источник

AZ

Anton Zadorozhniy in Data Engineers
можно динамично перезапускать джоб
источник

AZ

Anton Zadorozhniy in Data Engineers
в рантайме спарк стриминг не умеет менять эти лимиты
источник

A

Alexander in Data Engineers
А как обеспечить непрерывность потока?
источник

AZ

Anton Zadorozhniy in Data Engineers
вообще для такого вам проще будет написать свою поднималку из объектного стораджа в кафку, вы и так мучаетесь наверное с целостностью, и с потоком сейчас
источник

AZ

Anton Zadorozhniy in Data Engineers
зачем вам непрерывность потока? у вас конечный датасет, задача его загрузить в кафку до какого-то времени, правильно?
источник

AZ

Anton Zadorozhniy in Data Engineers
я перед уходом в продукты чинил для клиента такую архитектуру, это конечно неортодоксальный подход, клиенту было нужно потому что он так сильно хотел больше ksql джобов что кушать не мог
источник

A

Alexander in Data Engineers
Я имею в виду, что если поток перезапустить как обеспечить чтобы стартовал с нужного места, а не с начала
источник

A

Alexander in Data Engineers
Архитектурные решения приняты архитекторами. Это не моя тема. Моя тема вписать хотелки заказчика в архитектуру
источник

AZ

Anton Zadorozhniy in Data Engineers
никак, но у вас наверняка compacted topic чтобы бороться с дубликатами которые могут возникать из-за рестарта джоба, или по другим причинам
источник

A

Alexander in Data Engineers
Это из streaming или structured streaming?
источник

AZ

Anton Zadorozhniy in Data Engineers
streaming
источник

A

Alexander in Data Engineers
Дублировать не вариант, большая холостая нагрузка получится
источник

t

tenKe in Data Engineers
Вышеописанная задача решается через:
1) Снизить количество партиций перед записью в кафку => снижаем количество одновременных записей
2) Сделать foreachBatch синк, который будет дозированно писать данные частями
3) Написать свой синк, который будет писать так, как нужно
4) Уменьшить триггер стрима, чтобы писать чаще, но по малу
источник

AZ

Anton Zadorozhniy in Data Engineers
там надо еще в рантайме лимиты менять, то есть нужен control plane какой-то, или брать из конфигурации
источник

t

tenKe in Data Engineers
В целом это через партиционирование и foreachBatch сделать
источник