개발 기록장

airflow.cfg 살펴보기 본문

Airflow

airflow.cfg 살펴보기

jxwxnk 2024. 5. 26. 01:06
반응형

Airflow.cfg는 Apache Airflow의 설정 파일이다. 이 파일은 Airflow의 동작을 제어하는 다양한 옵션들을 포함하고 있으며, Docker위에서 동작하고 있는 Airflow 기준 opt 파일 아래에 위치한다. 간략하게 airflow.cfg에 대해 살펴본 바를 정리해 보려고 한다.

설정파일 주요 사항

DAGs 폴더는 어디에 지정되는가?

  • dags_folder = /opt/airflow/dags
    : 기본적으로 Airflow가 설치된 디렉토리 아래에 dags 폴더가 되며, dags_folder 키에 저장됨

DAGs 폴더에 새로운 DAG를 만들면 언제 Airflopw 시스템에서 이를 알게 되나? 또 이 스캔 주기를 결정해주는 키의 이름?

  • dag_dir_list_interval = 300
    : 기본값은 300초 즉 5분이 걸림

이 파일에서 Airflow를 API 형태로 외부에서 조작하고 싶다면 어느 섹션을 변경해야 하는가?

  • api 섹션
    : API 섹션의 auto_backend를 airflow.api.auth.backend.basic_auth로 변경

Variable에서 변수의 값을 암호화 하려면 변수의 이름에 어떤 키워드가 들어가야 하는가?

  • password, secret, passwd, authorization, api_key, apikey, access_token

Airflow.cfg 환경 설정 파일이 수정되었다면 이를 실제로 반영하기 위해 어떤 일을 해야 하는가?

  • sudo systemctl restart airflow-webserver
  • sudo systemctl restart airflow-scheduler

Metadata DB의 내용을 암호화하는데 사용되는 키는?

  • fernet_key

시간관련 설정

Airflow.cfg에는 시간관련 키가 두 종류 존재함

  • default_timezone
  • default_ui_timezone

start_date, end_date, schedule

  • default_timezone에 지정된 타임존을 따름

execution_date와 로그 시간

  • 항상 UTC를 따름
  • 즉 execution_date를 사용할 때는 타임존을 고려해서 변환후 사용필요
  • 여러가지를 고려했을 때 가장 좋은 방법은 UTC를 사용하는 것

dags 폴더에서 코드 작성 시 주의할 점

  • Airflow는 dags 폴더를 주기적으로 스캔함
    • dag_dir_list_interval = 300 -> 5분주기로 항상
  • 이때 DAG 모듈이 들어있는 모든 파일들의 메인함수가 실행이 됨
    • 이 경우 본의 아니게 개발중인 테스트 코드도 실행될 수 있음
    • 코드가 실행되어 데이터 정합성이 깨질 수 있으므로 조심해야 함
반응형

'Airflow' 카테고리의 다른 글

Airflow config API 활성화  (0) 2024.06.05
"ModuleNotFoundError: No module named 'MySQLdb'" 해결  (0) 2024.05.27
Airflow 정리  (0) 2024.05.27