/ AIRFLOW

Variables & Dag Parsing

Variables 사용 방법을 알아보고, Dag Parsing에서 그 이유를 살펴봅니다.

Variables

key value

json serialize

암호화 (fernet_key)

Best Practice

Good

execute() 내부에서는 자유롭게 사용

jinja template 사용하여 전달

Bad

TOP LEVEL PYTHON 코드에서 get 메소드 사용

대체 방법

  • jinja
  • task(execute) 내에서 get 메소드 사용

Dag Parsing

Top Level Python Code

Dag Parsing

  • Dag Serializtion의 Dag File Processing
  • Airflow에서 사용하고 있는 MySQL(Metadata DataBase)와 연결되지 않는 것이 좋음

Dag Running

  • 실제로 실행
  • Airflow에서 사용하고 있는 MySQL(Metadata DataBase)와 연결됨

Variable Cache

[참고]
[Airflow] Airflow DAG Serialization
The ins and outs of Airflow’s new Secrets Cache