[Practice] Quick tour of Airflow CLI

우상욱·2024년 2월 25일
0

Airflow

목록 보기
5/22

어떤 문제에 대해서는, WebUI를 사용할 수 없어서, CLI로 처리해야할 때가 있습니다. 예를 들어서 Dag를 모두 backfill 하고 싶고, Backfill 과정이 중단되더라도 트리거 되지 않은 Dag를 모두 실행하고 싶다면 이런 케이스에서는 CLI를 사용해야만 합니다.


docker exec -it 6f520130d591 /bin/bash 

해당 도커 컨테이너 명령줄 인터페이스에 진입합니다.


airflow db init

메타데이터를 초기화하고, airflow에 의해 필요한 파일과 폴더를 생성합니다.


airflow db reset

모든 메타스토어의 모든 메타데이터를 삭제합니다. production 환경에서는 절대 사용하지 않습니다.


airflow db upgrade

메타스토어의 스키마를 업데이트합니다. airflow 버전을 업데이트하고 싶다면, 해당 명령을 실행합니다.


airflow webserver

에어플로우 웹서버를 실행합니다.


airflow scheduler

에어플로우 스케줄러를 실행합니다.


airflow celery worker

해당 머신은 에어플로우 worker라고 지정합니다.


airflow dags list

airflow의 dags 리스트를 확인합니다. dag가 업데이트 됐는지 확인할 때 유용합니다.


airflow dags trigger example_bash_operator -e 2020-01-01

대그를 작동시킵니다.


airflow dags list-runs -d example_bash_operator

dags의 history를 가져옵니다.


airflow dags backfill -s 2020-01-01 -e 2021-01-05 --reset-dagruns
  • start 날짜와 end 날짜를 정해서, 백필할 수 있습니다.
  • reset-dagruns를 통해서, dagruns를 리셋해서 백필합니다. 이걸 사용하지 않으면, 에러가 발생합니다.

airflow tasks list example_bash_operator(dag id)

해당 DAG의 task들을 가져옵니다.


airflow tasks test example_bash_operator(dag_id) runme_0 2021-01-01
  • Dag에 새 Task를 추가할 때마다 해당 명령어를 사용해야합니다.
  • 이 명령어를 통해서, Dag의 Task를 테스트합니다.
  • 메타스토어에 어떤 정보도 업데이트 하지않습니다.
  • 가장 자주 사용해야할 명령어입니다.

airflow -h

모든 명령어를 확인할 수 있습니다.

profile
데이터엔지니어

0개의 댓글