본문 바로가기
Data 엔지니어링/Airflow

[Airflow] 지원되는 오퍼레이터

by imkus 2025. 1. 12.

1. 기본 오퍼레이터

파일경로 오퍼레이터(클래스) 중요도 비고
airflow.models.baseoperator BaseOperator ⭐⭐⭐ - 오퍼레이터를 직접 개발하고 싶은 경우 이 클ㄹ래스를 상속하여 개발 (execute()함수를 재정의하여 사용)
- 아래 오퍼레이터들은 모두 이 클래스를 상속하여 개발되어 있음
- Airflow를 잘 쓰려면 이 오퍼레이터 상속/개발하는 것을 자유자재로 할 줄 알아야 함
airflow.operators.bash BashOperator ⭐⭐⭐ - bash쉘 스크립트를 실행
- 가장 많이 사용하는 오퍼레이터 중 하나임
airflow.operators.branch BaseBranchOperator ⭐⭐ - 직접 사용할 수는 없음
- 이 클래스를 상속하여 choose_branch 함수를 구현해야 함(그냥 사용시 에러 발생)
- 이 클래스를 상속하여 사용하는것보다 @task.branch 데코레이터 사용권장
airflow.operators.datetime BranchDateTimeOperator   - 특정 Datetime 구간을 주어 job 날짜가 구간에 속하는지 여부에 따라 분기 결정
airflow.operators.email EmailOperator   - 이메일 전송하는 오퍼레이터(Airflow 파라미터에 SMTP 서버 등 사전 셋팅 필요)
airflow.operators.generic_transfer GenericTransfer   - 데이터를 소스에서 타켓으로 전송 (Airflow 커넥션에 등록되어 있는 대상만 가능)
airflow.operators.latest_only LatestOnlyOperator   - 이 Task 뒤에 연결되어 있는 task들을 모두 가장 최근의 job만 실행하도록 하는 오퍼레이터
airflow.operator.subdag SubDagOperator   - 일종의 task 그룹화, 해당 오퍼레이터 안에 다른 오퍼레이터를 둘 수 있음 (Taskgroup과 유사)
airflow.operators.trigger_dagrun TriggerDagRunOperator - 다른 DAG을 수행하기 위한 오퍼레이터
airflow.operators.weekday BranchDayOfWeekOperator   - 특정 요일에 따라 분기처리할 수 있는 오퍼레이터
airflow.operators.python pythonOperator ⭐⭐⭐ - 어떤 파이썬 함수를 실행시키기 위한 오퍼레이터
BranchPythonOperator ⭐  - 파이썬 함수 실행 결과에 따라 task를 선택적으로 실행시킬 때 사용되는 오퍼레이터
ShortCircuitOperator   - 파이썬 함수 return 값이 False면 후행 Task를 Skip 처리하고 dag을 종료시키는 오퍼레이터
PythonVirtualenvOperator   - 파이썬 가상환경 생성후 Job 수행하고 마무리되면 가상환경을 삭제해주는 오퍼레이터
ExternalPythonOperator   - 기존에 존재하는 파이썬 가상환경에서 Job수행하게 하는 오퍼레이터

 

더 자세한 내용은 아래링크 참고

https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/operators/index.html

 

airflow.operators — Airflow Documentation

 

airflow.apache.org

 

 

 

 

2. Provider 오퍼레이터

  • 여러 서비스에서 제공하는 오퍼레이터
  • Airflow 서비스에서 Admim -> Providers에서 확인할 수 있음