MLOps 23

[Airflow] @task 데코레이터 사용하기

Airflow에서는 파이썬 함수를 간단히 데코레이터를 통해 task로 변환할 수 있는 @task 데코레이터를 제공합니다. 이를 통해 PythonOperator를 직접 정의하는 것보다 효율적이고 간결하게 DAG 내의 task를 작성할 수 있습니다.데코레이터(Decorator)란?데코레이터는 함수를 '감싸서' 기능을 추가하는 파이썬 기능입니다. 함수를 인자로 전달하거나 함수 내부에 함수를 정의하는 것이 가능하기 때문에, 함수를 쉽게 확장할 수 있습니다. @데코레이터명으로 사용하며, Airflow에서는 이를 활용해 task를 정의합니다. Airflow에서의 @task 데코레이터 활용하기Airflow의 @task 데코레이터를 사용하면, 파이썬 함수 정의만으로 손쉽게 task를 생성할 수 있습니다. 이는 Airf..

MLOps/Airflow 2024.10.31

[Airflow] Python Operator로 외부 모듈을 Import하는 방법

1. Python Operator와 모듈 경로 이해하기Airflow에서 PythonOperator를 사용해 작업을 정의할 때, 외부 함수가 필요하면 해당 모듈을 DAG 내에서 import할 수 있습니다. 이때 import 경로를 정확히 지정하는 것이 중요합니다.Python 경로 설정 기본 원칙실행 중인 Python 파일과 동일한 디렉토리에 있는 모듈은 자동으로 import됩니다.pip로 설치한 라이브러리들은 자동으로 sys.path에 포함됩니다.sys.path 변수에 경로를 추가해, Python이 모듈을 찾을 수 있도록 설정할 수 있습니다.Airflow의 기본 sys.path 구성Airflow는 dags와 plugins 폴더를 자동으로 sys.path에 포함합니다. 따라서 이 두 폴더에 외부 모듈을 배치..

MLOps/Airflow 2024.10.30

[Airflow]Python Operator

Airflow의 python operator는 파이썬 함수를 직접적으로 실행할 수 있도록 해주는 오퍼레이터이다.이를 통해 특정 로직을 처리하거나 데이터를 가공하는 파이썬 함수를 작성한 뒤, ETL 파이프라인을 통해 작업을 간편하게 실행할 수 있다.PythonOperator 예제1. Airflow DAG 설정from airflow import DAGfrom airflow.operators.python_operator import PythonOperatorfrom datetime import datetime# 간단한 Python 함수 정의def my_python_function(): print("Hello from Python Operator!")# Airflow DAG 정의with DAG( 'p..

MLOps/Airflow 2024.10.26