Планирование обратной засыпки только для START_DATE - PullRequest
0 голосов
/ 26 февраля 2020

Я только начал использовать воздушный поток, и я в основном хочу запустить DAG для загрузки исторических данных. Итак, я запускаю эту команду

airflow backfill my_dag -s 2018-07-30 -e 2018-08-01

И поток воздуха запускает мой даг только для 2018-07-30. Я ожидал, что воздушный поток будет работать в 2018-07-30, 2018-07-31 и 2018-08-01. Вот часть кода моего Дага:

import airflow
import configparser
import os

from airflow import DAG
from airflow.contrib.operators.databricks_operator import DatabricksSubmitRunOperator
from airflow.models import Variable
from datetime import datetime

def getConfFileFullPath(fileName):
    return os.path.join(os.path.abspath(os.path.dirname(__file__)), fileName)


config = configparser.ConfigParser(interpolation=configparser.ExtendedInterpolation())
config.read([getConfFileFullPath('pipeline.properties')])

args = {
    'owner': 'airflow',
    'depends_on_past': True,
    'start_date': datetime(2018,7,25),
    'end_date':airflow.utils.dates.days_ago(1)
}

dag_id='my_dag'
dag = DAG(
    dag_id=dag_id, default_args=args,
    schedule_interval=None, catchup=False)
...

Итак, я что-то не так делаю с моей конфигурацией Дага?

1 Ответ

2 голосов
/ 28 февраля 2020

Проблема: schedule_interval=None


Чтобы инициировать несколько прогонов в пределах определенного диапазона дат, необходимо установить интервал расписания для метки. Например, try:

schedule_interval=@daily

Дата начала, дата окончания и интервал расписания определяет, сколько прогонов будет инициировано планировщиком при выполнении обратной засыпки.

Планирование воздушного потока и предварительные установки

...