Добавить новость
ru24.net
Работа
Январь
2025
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
28
29
30
31

Создать DAG в Apache Airflow, который будет по расписанию запускать

0
Необходимо создать DAG в Apache Airflow, который будет по расписанию запускать расчёт витрины активности клиентов по сумме и количеству их транзакций.

Нужно наладить следующий ETL-процесс:

  1. Extract. Необходимые данные хранятся в таблице profit_table.csv. Это таблица, в которой для каждого клиента по 10-ти продуктам собраны суммы и количества транзакций за каждый месяц.

    Что в названиях столбцов:

    • id — уникальный идентификатор клиента;
    • продукты обозначены буквами от a до j латинского алфавита;
    • сумма транзакций по соответствующим продуктам начинается с sum_…;
    • количество транзакций по соответствующим продуктам начинается с count_….
    Для примера в таблице содержатся данные с октября 2023 года по март 2024.
  2. Transform. Суть витрины, которую необходимо собрать, таблица с флагами активностей клиентов по продуктам. Методика расчёта следующая: клиент считается активным по продукту за дату X, если в предыдущие 3 месяца (X, X-1 и X-2) у него были ненулевая сумма и количество транзакций по нему.

    Но это за нас уже реализовали дата-саентисты. Их код для сбора итоговой витрины находится в функции transform в файле transform_script.py, его необходимо встроить в процесс.
  3. Load. Итоговые результаты необходимо сохранять в csv-файл flags_activity.csv в той же директории, не перезатирая при этом данные старых расчётов в нём (обратите внимание, последнее не реализовано в примере кода от дата-саентиста, подумайте, какой параметр добавить при сохранении, чтобы всё прошло корректно).
Особенности дага: он должен запускаться по расписанию каждый месяц 5-го числа. Предполагается, что данные profit_table хранятся в общедоступной директории и пополняются ежемесячно новыми данными - поэтому при чтении таблицы всё должно выполниться без ошибок при наличии данных.

Какой ожидаем увидеть результат:
Необходимо реализовать DAG в Apache Airflow по указанной выше инструкции. В качестве ответа на задание приложите код создания дага и налаженного etl-процесса; а также скрин графа в Airflow и его успешного запуска на главной странице.

  • profit_table.csv — таблица с данными по транзакциям;
  • transform_script.py — скрипт от дата-саентиста;
  • flags_activity.csv — пример рассчитанного результата за 2024-03-01.



Moscow.media
Частные объявления сегодня





Rss.plus




Спорт в России и мире

Новости спорта


Новости тенниса
ATP

Андрей Рублёв сохранит место в топ-10 рейтинга ATP после вылета Шелтона в полуфинале АО






Shaman, Янис Тимма, генерал Кириллов и... А.С. ПУШКИН. Сенсационное видео! Очень важные данные! Новости. Россия, США, Европа могут улучшить отношения и здоровье общества?!

МГУ отметил 270-летие торжественным собранием: Путин по традиции посетил главный университет РФ

Посол Гальперин сообщила, что Израиль будет представлен на параде Победы

Источник 360.ru: три человека пострадали в ДТП в Москве