요약

  • airflow.operator.python라이브러리 내 PythonOperator 클래스 활용
  • PythonOperator: 사용자가 만든 함수를 실행시켜주는 오퍼레이터
  • BranchPythonOperator: Python 실행 결과에 따라 task를 선택적으로 실행

PythonOperator

DAG 내 사용자가 정의한 함수를 실행시킬 수 있게 함 (중요)python_callable : 실행할 함수 명을 작성

from airflow import DAG
import pendulum
import datetime
from airflow.operators.python import PythonOperator
import random
 
with DAG(
	dag_id="dags_python_operator",
	schedule="23 8 * * *",
	start_date=pendulum.datetime(2024, 8, 22, tz = "Asia/Seoul"),
	catchup=False
) as dag:
 
	def select_fruit():
		fruit = ['APPLE','BANANA', 'ORANGE', 'AVOCADO']
		rand_int = random.randint(0, 3)
		print(fruit[rand_int])
 
	py_t1 = PythonOperator(
		task_id = 'py_t1',
		python_callable = select_fruit
		)
py_t1

BranchPythonOperator

예) task1 결과에 따라 task2 를 실행시킬지, task3를 실행시킬지 선택함