Task

Data Engineering/Airflow

[Airflow] DAG와 Task의 동시성을 관리하기 위한 변수

DAG와 Task의 동시성을 관리하기 위한 변수DAG와 Task의 병렬 처리를 관리하기 위해 사용하는 Airflow 변수는 다음과 같다.parallelism : Scheduler당 동시에 실행할 수 있는 최대 task Instance 수를 정의하며, Worker 수와 무관max_active_tasks_per_dag : 각 DAG에서 동시에 실행하도록 허용된 최대 Task Instance 수max_active_runs_per_dag : DAG당 활성 DAG 실행의 최대 수 이전에 parallelism에 대해서는 글을 작성한 적이 있기에 parallelism에 대해 자세히 알고 싶다면 아래의 링크에서 확인하면 좋을 것 같다. 여기서는 max_active_tasks_per_dag, max_active_runs..

Data Engineering/Airflow

[Airflow] DAG params를 PythonOperator 매개변수로 사용하기

DAG params를 PythonOperator 매개변수로 사용하기Airflow에서 DAG와 개별 Task를 유연하게 구성하기 위해 params와 op_kwargs를 활용하는 것은 매우 유용하다. 이를 활용하면, DAG 전역에서 사용하는 변수를 정의하여 개별 Task에서 재사용할 수 있다. 이 글에서는 DAG에서 params를 정의하고, 이를 PythonOperator의 매개변수로 사용하는 방법에 대해 소개하려고 한다.DAG : paramsDAG params란?DAG 실행 시 특정한 값을 전역적으로 정의하고, DAG 내의 Task에서 Jinja 템플릿을 사용해 값을 참조할 수 있다. 이를 통해 DAG 내 여러 Task에서 동일한 값을 재사용할 수 있다.DAG 예시 코드current_data_file_na..

Data Engineering/Airflow

[Airflow] Airflow 기초 지식

Airflow 기초 지식Airflow 소개Airflow 개념파이썬으로 작성된 데이터 파이프라인(ETL) 프레임워크가장 많이 사용되는 데이터 파이프라인 관리 프레임워크Airflow 장단점장점데이터 파이프라인을 세밀하게 제어 가능다양한 데이터 소스와 데이터 웨어하우스를 지원Backfill (여러 이유로 과거의 ETL 실행이 안될 경우 과거의 날짜의 ETL을 실행)이 쉬움단점배우기 쉽지 않음상대적으로 개발 환경을 구성하기 힘듦직접 운영이 쉽지 않으며, 클라우드 버전 사용 선호Airflow 관련 용어DAG(Directed Acyclic Graph)Airflow에서 ETL을 부르는 별칭DAG는 하나 이상의 Task로 구성Task오퍼레이터(Operator)로 만들어짐Airflow 내에서 다양한 종류의 오퍼레이터 제..