TGViewer
Я – Дата Инженер | Евгений Виндюков Я – Дата Инженер | Евгений Виндюков @halltape_data · 5.91K subscribers
Post #865 4.27K
Только 2% людей на планете знают об этом!

Если вы знаете об этой фишке, прошу только дополнить. Многим людям, кто с Airflow только знакомятся, эта инфа будет полезна.
О чем я?

Вот у вас есть DAG в Airflow, который запускает код по расписанию. Просто грузит данные за вчера или за прошлую неделю.
Но что если вам надо прогрузить РЕТРО данные, например за прошлый месяц или с 2026-01-10 по 2026-04-02?

Иногда это требуется, когда данные в источнике (например в Postgres) могли обновиться, а Стриминг для этой задачи излишен.
Короче, в Airflow можно добавить пару строчек и запускать ваш DAG с вашими параметрами вручную. Причем это может делать любой человек, даже без знания КОДА! Не надо идти в Jupyter Hub и запускать спарк джобу с конифгами. Любой аналитик зашел, вбил нужные даты и нажал кнопку PLAY

Понятное дело, что вы наверняка знали про это еще 15 лет назад и у вас даже сосед по лестничной клетке шарит за это и вообще тетя Люда на даче этим пользовалась во времена Петра Первого.. но дайте шанс новичкам, кто только знакомится с инструментом.

Че писать в коде?
Чтобы удобно было запускать DAG с параметрами, надо дописать параметр params
dag = DAG(
dag_id="DEMO__API_to_S3_to_CH__weather_temp_rain_pipeline",
default_args=default_args,
schedule_interval="0 10 * * *",
catchup=False,
params={
"start_date": Param(
"",
type="string",
pattern=r"^$|^\d{4}-\d{2}-\d{2}$",
description="Начальная дата ретро-загрузки в формате YYYY-MM-DD. Пусто = ds.",
),
"end_date": Param(
"",
type="string",
pattern=r"^$|^\d{4}-\d{2}-\d{2}$",
description="Конечная дата ретро-загрузки в формате YYYY-MM-DD. Пусто = start_date.",
),
},
description="API weather to S3 and ClickHouse pipeline",
tags=["demo", "weather", "temp", "rain", "api", "s3", "clickhouse", "pipeline"],
)


Кстати можно добавить еще и валидацию дат, чтобы нельзя было вбить случайно неправильно.
А ну еще придумал кейс. Вот представьте у вас работает витрина и там добавилось поле или чуть поменяли подсчет метрики.
Вы выкатили в прод изменения, а данные-то старые не обновлены. В этом случае можно просто запустить прям в Airflow с нужными датами и все обновиться. Ну и надо уточнить, чтобы ваш пайплайн не плодил дублей, а перезаписывал данные в хранилище. Это я так, просто уточнить.
  • 👍 35
  • 👏 8
  • 😁 7
  • 🤔 1
More from @halltape_data
  1. Sep 27, 2026Собес на 320к на руки на Дата Инженера! ▶️ https://youtu.be/lZKqJ978e1I Выложил собес. Все…
  2. Sep 26, 2026Накрутчики! Написал в Threads пост о том, как расти в ЗП в ДЕ. В комменты пришел человек,…
  3. Sep 25, 2026Это последний поток BootCamp. ВСЁ. После Нового года мы будем поднимать цену. Поэтому нояб…
  4. Sep 23, 2026Если тебе до 25 и ты уже в IT В промежутке между 17 и 23 годами я учился на инженера в уни…
  5. Sep 20, 2026Собес на Дата Инженера + Лайвкодинг! (Middle) ▶️ https://youtu.be/fypWIMVBKxg На самом дел…
  6. Sep 18, 2026300к в наносекунду от нашего ученика! Я хз как это работает, но это уже второй рекордсмен,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →