Добрый день.
Подскажите , кто знает, как лучше:
1)Я хочу каждые 15 минут загружать свежие данные из одной таблицы в другую
Я задаю интервалы для выгрузки (select * from test where timestamp between x and y), где x будет previous_execution_date, то есть дата и время запуска прошлого даг рана. А y будет x + 15 минут
Вопрос: в документации я нашел пример макросов {{ds}} и т.д., но эти макросы содержат только дату, не время (часы, минуты, секунды). Есть способ с помощью макроса сослатся на дату и время предыдущего даг рана?
2) Я хочу сделать так, чтобы этот процесс выгрузки был максимально надежным. То есть, если что-то упадет и данные за очередной интервал не загрузятся, то в следующий период они , как только все восстановятся, они загрузятся. Я прочитал про catchup с помощью которого, это можно реализовать. В качестве примра, есть реализация с помощью макросов. Если не выполнится даг ран за 2021-01-01 , то при возможности, этот даг ран исполнится. Внутри у него макрос со временем (чтобы учитывалось не локальное время, а то, которое должно было быть на момент 2021-01-01), опять же вопрос: А этот макрос можно настроить с датой и временем исполнения? Он сможет брать только вот этот 15 - минутный интервал?
И вообще, как по вашему опыту надежнее всего реализовать этот процесс? Опять же видел макрос previous_success_ds (что -то вроде этого), чтобы в качестве одного из концов времене для выгрузки брать именно последнее успешное время?