from ariflow.opertors.python import Pythonoperator
무엇을 하는 오퍼레이터일까?
- 정의된 파이썬 함수를 실행시키는 오퍼레이터
- 가장 많이 쓰는 오퍼레이터
![[SCR-20250217-torx.png]]
패키지 : airflow.operators.python
오퍼레이터 :
- BashOperator : Bash 명령어를 태스크로 실행
- SQL 관련 오퍼레이터 : SnowflakeOperator, MysqlOperator
- PythonOperator : 어떤 파이썬 함수를 실행시키기 위한 오퍼레이터
- BranchPythonOperator : 파이썬 함수 실행 결과에 따라 task를 선택적으로 실행시킬 떄 사용되는 오퍼레이터
- ShortCircuitOperator : 파이썬 함수 실행 결과에 따라 후행 Task를 실행하지 않고 종료시킬 수 있는 오퍼레이터
- PythonVirtualOperator : 파이썬 가상환경 생성후 JOB 수행하고 마무리되면 가상환경 삭제해주는 오퍼레이터
- ExternalPythonOperator : 기존에 존재하는 파이썬 가상환경에서 JOB 수행하게 해주는 오퍼레이터
from airflow import DAG
import pendulum
import datetime
from airflow.operators.python import PythonOperator
import random
with DAG(
dag_id="dags_python_operator",
schedule="30 6 * * *",
start_date=pendulum.datetime(2025, 2, 16, 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