Связь между Glue dpu и максимальным параллелизмом

Я работаю в Amazon EMR более года, но недавно мы перешли на aws glue для обработки данных.

Мне трудно понять взаимосвязь между no of dpus и max concurrency, которую мы обеспечиваем при работе с клеем.

Например, я создал задание с 2 dpus с max concurrency as 2. Кроме того, представьте, что я two threads одновременно запускаю эту конечную точку (задание).

Допустим, я выполняю некоторую агрегацию на 60GB file. Я нашел несколько сообщений, но они не особо помогли, например это и это

Сколько запусков заданий я могу ожидать для этого задания на aws Glue?


person Community    schedule 04.09.2018    source источник


Ответы (1)


AWS предоставляет два ключевых документа, описывающих указанную проблему:

https://docs.aws.amazon.com/glue/latest/dg/troubleshooting-service-limits.html

https://docs.aws.amazon.com/glue/latest/dg/add-job.html

На основании этих документов у нас есть следующие параметры работы и лимиты услуг, которые относятся к нашей теме:

Ограничения сервера:

  • "Количество одновременных запусков заданий на учетную запись"
  • "Количество одновременных запусков заданий на задание"
  • «Максимальное количество DPU, используемых ролью одновременно»

Параметры работы с клеем:

  • «Максимальный параллелизм»
  • «Параллельные DPU на выполнение задания»

Это правило относится к одной клеевой работе:

  • «Максимальный параллелизм» * «Параллельные DPU на выполнение задания» ‹= «Максимальное количество DPU, используемых ролью одновременно»
  • «Максимальный параллелизм» ‹= «Количество одновременных запусков заданий на задание»
  • количество запусков клеевого задания ‹= «Максимальный параллелизм»

Если вы запускаете несколько заданий на склеивание одновременно, вы также должны соблюдать следующее правило:

  • количество запусков клеевого задания * «Параллельные DPU на выполнение задания» ‹= «Максимальное количество DPU, используемых ролью за один раз»
  • количество запусков клеевых заданий ‹= «Количество одновременных запусков заданий на учетную запись»

Допустим, вы используете ограничения службы по умолчанию и не запускаете другие задания одновременно:

Количество одновременных запусков заданий на задание: 3

Максимальное количество DPU, используемых ролью одновременно: 100.

Это означает, что вы можете запускать до трех одинаковых заданий склейки параллельно, и эти задачи не могут превышать лимита в 100 DPU в сумме.

Например: вы можете запустить 3 экземпляра клеевого задания с DPU=30 и максимальным параллелизмом=3, но когда вы запустите 3 экземпляра клеевого задания с DPU=50 и максимальным параллелизмом=3, вы получите следующую ошибку:

«Превышено максимальное количество одновременных вычислений для вашей учетной записи»

Надеюсь, это поможет

person j.b.gorski    schedule 04.09.2018
comment
Привет @gorski спасибо за ваш ответ, я проверю, пожалуйста, дайте мне пару дней - person ; 05.09.2018
comment
@gorski Я тестировал с максимальным параллелизмом 4 и 20 dpu на одном задании, оно работало нормально, а также создавало более 4 заданий одновременно. У меня есть 3 вопроса друг. 1. Итак, что вы имеете в виду, когда говорите, что максимальное количество одновременных заданий, выполняемых на одно задание, равно 3? 2. Если я запускаю, 3 одних и тех же заданий склеивания параллельно с 20 DPU. Означает ли это, что каждый запуск задания потребляет 20 DPUS, а в сумме все они занимают 60 DPUS. 3. Итак, в заключение, max concurrency * no of dpu's не должно превышать 100? - person ; 09.09.2018
comment
@JumpMan Странно, что вы смогли установить максимальный параллелизм на 4, потому что ограничение по умолчанию равно 3. Количество одновременных запусков заданий на задание — это предел службы, максимальный параллелизм — это параметр связующего задания. Что касается вопроса 2 и 3, да, вы правы. Я добавил также дополнительное объяснение к моему ответу. - person j.b.gorski; 09.09.2018