Airflow의 python operator는 파이썬 함수를 직접적으로 실행할 수 있도록 해주는 오퍼레이터이다.
이를 통해 특정 로직을 처리하거나 데이터를 가공하는 파이썬 함수를 작성한 뒤, ETL 파이프라인을 통해 작업을 간편하게 실행할 수 있다.
PythonOperator 예제
1. Airflow DAG 설정
from airflow import DAG
from airflow.operators.python_operator import PythonOperator
from datetime import datetime
# 간단한 Python 함수 정의
def my_python_function():
print("Hello from Python Operator!")
# Airflow DAG 정의
with DAG(
'python_operator_example',
default_args={
'owner': 'airflow',
'retries': 1,
},
description='A simple example of Python Operator',
schedule_interval='@daily', # DAG이 매일 실행
start_date=datetime(2024, 10, 25), # DAG의 시작일
catchup=False # DAG이 처음 시작될 때 과거 실행을 생략하도록 설정
) as dag:
# PythonOperator 사용
task1 = PythonOperator(
task_id='python_task', # Airflow UI에서 이 task의 이름을 나타냄
python_callable=my_python_function # 오퍼레이터가 실행할 Python 함수를 지정
)
task1
2. 파라미터 전달하기
def greet(name, age):
print(f"Hello, my name is {name} and I am {age} years old.")
task2 = PythonOperator(
task_id='greet_task',
python_callable=greet,
op_args=['John', 30] # 함수에 전달할 인자
)
'MLOps > Airflow' 카테고리의 다른 글
[Airflow] Macro 변수 사용 (0) | 2024.11.03 |
---|---|
[Airflow] Jinja 템플릿 활용 (0) | 2024.11.03 |
[Airflow] op_args와 op_kwargs 사용하기 (2) | 2024.11.03 |
[Airflow] @task 데코레이터 사용하기 (0) | 2024.10.31 |
[Airflow] Python Operator로 외부 모듈을 Import하는 방법 (0) | 2024.10.30 |