Могу ли я увеличить скорость обработки, добавив больше процессоров операторам в Airflow?

В airflow.cfg есть раздел под названием [operators], где default_cpus был установлен на 1 а также default_ram а также default_disk оба были настроены на 512,

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

1 ответ

Решение

Я взглянул на источники, и эти настройки доступны всем операторам, но они никогда не используются ни операторами, ни исполнителями.

Итак, я немного вернулся в историю и взглянул на коммит, в котором были представлены эти параметры, и они цитируют тикет JIRA, который приводит к этому PR:

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

Исполнитель Mesos, однако, является вкладом сообщества, который не использует эти свойства и просто назначает одинаковое количество ресурсов для каждой задачи, а исполнитель YARN еще не существует AFAIK (по состоянию на версию 1.9).

Однажды у меня была дискуссия с командой Airflow, чтобы понять, есть ли способ назначать ресурсы для каждой задачи с помощью исполнителя Mesos, и они ответили мне своей стратегией назначения ресурсов задачам с помощью исполнителя Celery, в случае, если это может быть помочь вам понять, как управлять ресурсами.

Что касается основного вопроса, который вы задаете в более общем смысле, то тип пропускной способности, которую вы можете получить из задачи в зависимости от назначаемых ей ресурсов, во многом зависит от самой задачи: конечно, очень ресурсоемкий Задача, которая может использовать несколько процессоров, будет видеть скачки скорости, если вы назначите ей несколько ядер, в то время как интенсивная задача ввода-вывода (например, копирование данных между различными системами), вероятно, не увидит значительного улучшения.

Другие вопросы по тегам