График рабочего процесса Повторного использования луча Apache

#apache-flink #apache-beam #amazon-emr

Вопрос:

Я использую Apache Beam для запуска пакетных конвейеров на Flink, работающих на AWS EMR.

Трубопроводы луча создаются и передаются в давно работающий кластер Flink. Однако я вижу, что есть затраты, связанные с построением графика работы и отправкой его в EMR, что занимает постоянно более 2 минут.

Я хочу сократить это время, и мне было интересно, есть ли способ кэшировать/предотвратить создание трубопроводов Beam с каждым запуском работы с драйверами.

График работы немного сложен, поэтому время в 2 минуты оправдано. Просто рассматриваю способы уменьшить/устранить это каждый раз.

Комментарии:

1. Было бы полезно иметь разбивку того, где на самом деле находятся затраты, например, при строительстве трубопровода, переводе или фактической отправке в EMR? Или это повторная загрузка зависимостей (например, файлов jar) каждый раз?

2. Стоимость составляет около 30-40 секунд при строительстве трубопровода и отдыхе при отправке в EMR

3. Я не знаю, как ускорить отправку в EMR, хотя моей первой догадкой было бы посмотреть, есть ли избыточные артефакты, которые загружаются каждый раз.

4. Для построения конвейера вы могли бы посмотреть, есть ли вычисления, которые можно кэшировать/амортизировать по вызовам. Само строительство трубопровода луча должно быть довольно быстрым (графики с тысячами PTransforms все равно должны быть субсекундными).