데이터 공부/Apache Airflow

Apache Airflow 처음부터 빌드해보기+2

한소희DE 2021. 9. 23. 21:43

앞서 포스팅은 아래와 같다.

https://eng-sohee.tistory.com/108

 

03. Apache Airflow 처음부터 빌드해보기 + 1

Airflow를 사용해본 경험은 꽤 되지만, 이는 누군가가 Docker로 사용하기 좋게 build해놓은 것을 썼기 때문에 온전히 내 것이라는 느낌이 들지 않았다. 따라서 이번 프로젝트를 진행하면서 Airflow를 처

eng-sohee.tistory.com

 

이제 이어서, airflow 를 본격적으로 실행하기에 앞서, 초기 사용 방법을 익혀보도록 하겠다.

 

 

01. Airflow 시작에 앞서

 

1-1. 앞서 생성한 가상환경 접속

source sandbox/bin/activate

 

1-2. airflow에서 사용 가능한 인터페이스 설명 목록 확인

이를 통해, airflow에서 쓸 수 있는 명령어 및 설명을 알 수 있다.

airflow -h

 

중요한 명령어 살펴보기 - init과 reset
airflow init은 한번만 실행하고, airflow reset은 모든 것을 잃게되므로 조심해야 한다.

 

1-3. airflow의 db 관련 명령어

airflow db -h

 

1-4. airflow의 users 관련 명령어

 

airflow users -h

# 사용자 생성에 대한 명령어. 사용자 생성 위한 규칙 등이 저장
airflow users create -h

 

 

 

여기서는 위와 같은 규칙의 명령어가 존재한다. 따라서, airflow의 users를 생성해주자.

 

airflow users create -u admin -p admin -f Sohee -l Han -r Admin -e eng.sohee@gmail.com

 

 

그 후 처음 접속하면 아래와 같은 창이 뜬다.

경고문을 살펴보면 스케줄러가 작동되지 않는다고 하니까, 이 스케줄러를 실행하기 위해, 아래와 같은 명령어를 사용한다.

airflow scheduler

 

 

 

 

 

1-5. dags 관련 명령어

 

 

dag 파일 리스트 확인 방법

airflow dags list

 

해당 dag파일의 task 리스트 확인 방법

airflow tasks list dag 파일명

 

특정한 dag 파일(여기서는 example_xcom_args)의 2020년 1월 1일을 동작시키는 방법

airflow dags trigger -e 2020-01-01 example_xcom_args

※ 트리거란 : 어느 특정한 동작에 반응해 자동으로 필요한 동작을 실행하는 것

 

 

 

02. Airflow 의 뷰 종류

  • 트리뷰 : 전체 기록을 볼 수 있음
  • 그래프뷰 : 제일 최신 기록 상태 및 태스크 그래프를 알 수 있음
  • Gantt 뷰 : 병목 현상을 발견하려는 경우 유용
  • 그래프 클릭해서 보는 모듈뷰 : 로그 등의 세부사항 확인 가능. 만약 주어진 작업 실패 시 이 기능을 이용해 로그 확인이 필요함.

 

 

 

 

요약

  • Airflow는 처리 프레임워크가 아니라 기가바이트의 데이터를 Airflow 외부에서 처리하는 오케스트레이터입니다(즉, Spark 클러스터가 있고 연산자를 사용하여 Spark 작업을 실행하고 데이터가 Spark에서 처리됨).
  • DAG는 데이터 파이프라인이고 운영자는 작업입니다.
  • Executor는 작업이 실행되는 방식을 정의하는 반면 작업자는 작업을 실행하는 프로세스입니다.
  • 스케줄러는 작업을 예약하고, 웹 서버는 UI를 제공하고, 데이터베이스는 Airflow의 메타데이터를 저장합니다.
  • airflow db init는 Airflow를 초기화하기 위해 실행하는 첫 번째 명령입니다.
  • 작업이 실패하면 UI 및 "로그"에서 작업을 클릭하여 로그를 확인하십시오.
  • Gantt 보기는 병목 현상을 방지하고 & 작업이 실행하기에 너무 긴지 확인할 때 매우 유용합니다.