Airflow Guru GPT
Приложение ChatGPT предоставляет доступ к специализированным моделям GPT (см мой предыдущий пост: https://set.ki/post/k7ZJsir), одна из которых это Airflow Guru - модель упрощающая работу с Apache Airflow.
Из моего опыта использования видно, что Airflow Guru ошибается намного реже, чем GPT 4 и GPT 4o, а так же намного лучше понимает разницу между различными версиями Airflow и его плагинов.
Приведу несколько упрощенных примеров использования. Важно отметить, что, как и в случае с ChatGPT, все запросы я пишу по-английски, но, для удобства чтения, здесь напишу по-русски.
Создание шаблона ДАГа / таска Создай ДАГ из двух тасков. Первый таск получает данные из БД Постгрес. Второй таск использует эти данные чтобы обработать их и записать в БД Кликхаус с помощью хука.
Получение гайда по решению проблемы При обращении к БД Кликхаус хук вернул ошибку 403: <полная строка с ошибкой> Напиши гайд по порядку решения данной проблемы.
Приведение к лучшим практикам Мой ДАГ запускается раз в час и обрабатывает данные за последний час. Переделай его так, чтобы он обрабатывал данные за период, за который он был запущен. <код ДАГа и таска>
· 11.04.2025
Зачем в первом шаблоне разделять на 2 таски получение данных и в другой отправку? А передача данных между тасками как?
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 07.05.2025
Airflow имеет встроенную систему обмена небольшими объёмами данных между тасками. В случае SQL операторов эти данные можно использовать как аргументы запросов в последующих тасках
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 07.05.2025
Можно пример и где можно почитать про это?
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 07.05.2025
Вот выглядит как хорошая статья: https://www.astronomer.io/docs/learn/airflow-passing-data-between-tasks/
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 07.05.2025
Реалистичный пример: получить список айдишников объектов из аналитической бд и сделать апдейт вторым таском по ним в продуктовой
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 07.05.2025
Да, через xcom, но он же принимает в себя небольшие структуры(конечно, может и большие)) явно в целевом решении не стоит через него таблицу (хоть и списком) по 100к строк и более переносить)
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 07.05.2025
Естественно) Хороший пример использования ещё: вытащить дату или булево значение
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 07.05.2025
Ох уж эта атомарность тасок) можно и в питоноператоре сделать) тут уж от задач и требований
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 07.05.2025
Вот пример с хорошей причиной атомизировать вспомнил: is_update_required >> branching_task branching_task >> update_kubernates_heavy >> end # if true branching_task >> end # if false
Airflow использует CeleryKubernates executor и мы не хотим просто так запускать тяжелый под под скип задачи
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён