Airflow
Python Operator
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