Как >> оператор определяет зависимости задачи в Airflow? - PullRequest
0 голосов
/ 18 сентября 2018

Я изучал Apache Airflow https://github.com/hgrif/airflow-tutorial и столкнулся с этим разделом для определения зависимостей задач.

with DAG('airflow_tutorial_v01',
     default_args=default_args,
     schedule_interval='0 * * * *',
     ) as dag:

print_hello = BashOperator(task_id='print_hello',
                           bash_command='echo "hello"')
sleep = BashOperator(task_id='sleep',
                     bash_command='sleep 5')
print_world = PythonOperator(task_id='print_world',
                             python_callable=print_world)


print_hello >> sleep >> print_world

Строка, которая меня смущает:

print_hello >> sleep >> print_world

Чтозначит >> в Python?Я знаю побитовый оператор, но не могу относиться к коду здесь.

1 Ответ

0 голосов
/ 18 сентября 2018

Воздушный поток представляет рабочие процессы в виде направленных ациклических графиков.Рабочий процесс - это любое количество задач, которые должны быть выполнены, либо параллельно, либо последовательно.«>>» - это синтаксис Airflow для задания задачи ниже другой.

Погружаясь в репозиторий проекта «инкубатор-поток», models.py в каталоге airflow определяет поведение большинства высокоуровневых абстракций Airflow.Вы можете покопаться в других классах, если хотите, но тот, который отвечает на ваш вопрос, это класс BaseOperator.Все операторы в Airflow наследуются от BaseOperator.__rshift__

См. Реализацию здесь .

. *1005* метод класса BaseOperator реализует логический оператор Python с правым сдвигом вправо в контексте задания задачи или DAG.
...