우노
[Airflow] ShortCircuitOperator란? 본문
ShortCircuitOperator란?
- 지정된 조건이 참(True)일 때만 다운스트림 작업을 실행하는 Operator입니다.
- 지정된 조건이 거짓(False)이라면, ShortCircuitOperator는 다운스트림 작업의 실행을 건너뜁니다.
ignore_downstream_trigger_rules 설정
- ShortCircuitOperator가 거짓(False)된 조건으로 인하여 다운스트림 작업을 건너뛸 때,
- 다운스트림 작업들의 트리거 규칙을 무시할 것인지 결정하는 설정입니다.
- ignore_downstream_trigger_rules=True를 적용한 경우 (기본 설정)
- 조건이 참(True)일 때 : ShortCircuitOperator 뒤에 오는 모든 다운스트림 작업을 실행합니다.
- 조건이 거짓(False)일 때 : 모든 다운스트림을 건너뜁니다.
- ignore_downstream_trigger_rules=False를 적용한 경우
- 조건이 참(True)일 때 : ShortCircuitOperator 뒤에 오는 모든 다운스트림 작업을 실행합니다.
- 조건이 거짓(False)일 때 : 특정 트리거 룰이 있는 다운스트림을 제외한 모든 다운스트림을 건너뜁니다.
- ignore_downstream_trigger_rules=True를 적용한 경우 (기본 설정)
예제 코드
ignore_downstream_trigger_rules=True를 적용한 경우
short_circuit Task의 조건이 참(True)이면, ShortCircuitOperator 뒤에 오는 모든 다운스트림 작업을 실행합니다.
@task.short_circuit(ignore_downstream_trigger_rules=True) def step_1(): return True @task def step_2(): return "step_2"
short_circuit Task의 조건이 거짓(False)이면, 모든 다운스트림을 건너뜁니다.
@task.short_circuit(ignore_downstream_trigger_rules=True) def step_1(): return False @task def step_2(): return "step_2"
ignore_downstream_trigger_rules=False를 적용한 경우
short_circuit Task의 조건이 참(True)이면, ShortCircuitOperator 뒤에 오는 모든 다운스트림 작업을 실행합니다.
@task.short_circuit(ignore_downstream_trigger_rules=False) def step_1(): return True @task def step_2(): return "step_2"
short_circuit Task의 조건이 거짓(False)이면, 특정 트리거 룰이 있는 다운스트림을 제외한 모든 다운스트림을 건너뜁니다.
@task.short_circuit(ignore_downstream_trigger_rules=False) def step_1(): return False @task def step_2(): return "step_2" # NONE_FAILED = 이전 단계들이 모두 성공 또는 스킵일 경우에만 실행 @task(trigger_rule=TriggerRule.NONE_FAILED) def step_3(): return "step_3"
참고
'Data > Airflow' 카테고리의 다른 글
[Airflow] Xcoms란? (0) | 2024.03.08 |
---|---|
[Airflow] StatsD Exporter + Prometheus + Grafana On GKE (2) | 2023.11.17 |
[Airflow] DAG에서 Airflow REST API 호출하는 방법 (0) | 2023.10.16 |
[Airflow] Configuration 확인 명령어 (0) | 2023.09.26 |
[Airflow] 적용된 Executor 확인 명령어 (0) | 2023.09.04 |
Comments