본문 바로가기
INFRA/Operation

Airflow

by BTC_안민규 2022. 6. 24.

Airflow는 데이터 엔지니어링 파이프라인을 위한 오픈 소스 워크 플로 관리 플랫폼으로 apache에서 제공하고 있습니다.

 

Airflow를 사용하여 작업의 DAG(방향성 비순환 그래프)로 워크플로를 작성합니다. Airflow scheduler는 지정된 종속성을 따르는 동안 작업자 배열에서 작업을 실행합니다. 풍부한 명령줄 유틸리티를 사용하면 DAG에서 복잡한 것도 간편하게 수행할 수 있습니다.

 

airflow의 파이프라인은 코드(python)으로 구성되어 동적 파이프라인 생성을 합니다. airflow는 앞서 설명했던 composer를 사용해서 구성할 수 있으며 composer가 아니더라도 vm에서 수동으로 설치하여 띄울 수 있습니다.

 

airflow의 웹 서버를 stateless로 만들 기 위해 airflow에서는 DAG 직렬화 및 DB 지속성을 지원합니다. DB에 DAG직렬화 및 지속성이 없으면 웹서버와 스케줄러 모두 DAG파일에 엑세스해야합니다. DAG파일을 Parsing하여 JSON형식으로 직렬화하여 메타데이터 DB에 저장합니다.

 

이제 웹서버는 DAG파일을 구문 분석을 하는 대신 JSON에서 직렬화된 DAG를 읽고 역직렬화하여 DAGBag을 생성하여 UI에 표시합니다.

 

airflow 설치를 완료하면 gui를 제공합니다. dag자체는 코드로 관리하지만 ui에서 간편하게 실행을 제어할 수 있습니다.

 

dag를 task를 관리하는 창입니다. 여러가지의 기능이 있습니다.

'INFRA > Operation' 카테고리의 다른 글

IaC 도구 성장 가능성 및 전망  (0) 2022.07.06
What is HashiCorp?  (0) 2022.06.28
AWS CloudFormation 설치 및 리소스 배포  (0) 2022.06.23
AWS Puppet 설치 및 리소스 배포  (0) 2022.06.13
AWS Ansible 리소스 구성 및 설치  (0) 2022.06.09

댓글