1. Airflow의 꽃, Custom 오퍼레이터
- AIrflow는 오퍼레이터를 직접 만들어 사용할 수 있도록 클래스를 제공해준다.
- BaseOperator (부모 클래스)
- BaseOperator는 상속시 두가지 메서드를 정의해야한다.(Overriding) 자식클래스 재정의
1. def __init__ : 생성자 재정의
- 클래스에서 객체 생성시 객체에 대한 초기값을 지정하는 함수
2. def execute(self, context)
- __init__생성자로 객체를 얻은 후 execute 메서드를 실행시키도록 되어있다. 비즈니스 로직은 execute에 구현이 필요하다.
2. Custom 오퍼레이터 개발 Study
- 오퍼레이터 기능 정의
- 서울시 공공데이터 API를 호출하여 전체 데이터를 받은 후 .csv 파일로 저장하기
- 오퍼레이터와 dag의 위치
- /dags
- dags_seoul_api.py
- /plugins
- /operators
- seoul_api_to_csv_operator.py
- 어떤 파라미터에 Template문법을 사용할지 지정을 해 주면 된다.
template_fields: Sequence[str] = ("name", )
Creating a Custom Operator airflow 공식문서
<예제1>

hello_task =HelloOperator(
task_id='xxxx',
name = '~~~~~',
abc = '~~~~~',
)
<예제2>

- 어떤 파라미터에 Template문법을 적용하고 싶은지는
template_fields: Sequence[str] = ("name", )
를 통해 지정해주면 된다.