Добавить новость
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




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

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


Новости тенниса
Australian Open

Мэдисон Киз победила Арину Соболенко и впервые в карьере выиграла Открытый чемпионат Австралии по теннису






Онугха вернулся в «Вайле» через пять месяцев после перехода в «Копенгаген»

«Ждала, что Надя извинится, скажет, прости»: Анна Седокова мстит Сысоевой в «Выжить в Самарканде. Игра сезонов»

Собянин в шутку связал отсутствие снега в Москве с переездом Газпрома в Петербург

Экспедиция JETOUR в Арктику: покорение экстремального холода