본문 바로가기

OpenSource/Airflow

[Airflow] template 기본값 지정

Custom Operator에서 Jinja template 값 치환 실패시 해결방법 포스팅을 통해 Jinja template을 airflow에서 사용해 보았다.

dag_run에 해당 설정 값이 없을때 기본값을 지정하고 싶으면 아래와 같이 하면 된다.

task = SparkBashOperator(
        task_id="kudu_syc",
        driver_cores="{{ dag_run.conf['driver_cores']|default('1', true)}}",
        driver_memory="{{ dag_run.conf['driver_memory']|default('1g', true)}}",
        executor_cores="{{ dag_run.conf['executor_cores']|default('1', true)}}",
        num_executors="{{ dag_run.conf['num_executors']|default('1', true)}}",
        executor_memory="{{ dag_run.conf['executor_memory']|default('1g', true)}}",
        ...

참고:Jinja template Default

default 이후의 boolean 값은 blank 일때도 기본값을 사용할지(true), 말지(false)를 지정하는 값이다.(기본값은 false다)