Chapter 1. Apache Airflow 살펴보기1.1 데이터 파이프라인Task 간의 의존성을 확인하는 방법 중 하나가 pipeline 을 Graph 자료구조로 그리는 것.DAG (Directed Acyclic Graph) : 방향성 비순환 그래프. 반복 및 순환 (cycle)을 허용하지 않음.1.1.2 파이프라인 그래프 실행DAG 구성을 이용하여 정해진 순서로 Task 를 실행함.1.1.3 그래프 파이프라인과 절차적 스크립트 파이프라인 비교각 Task 를 Node 로 생성하고, Task 간의 데이터 의존성을 화살표 끝점으로 연결하여 표현함.1.1.2 예시와 다른 점은 파이프라인 첫번째 단계가 독립적인 두개의 태스크로 구성되어 있으며, 병렬로 실행할 수 있다는 점이다.Task를 순차적으로 실행하는 ..
Data Engineering/Airflow
chrome headless 모드에서 크롤링을 하던 중 아래와 같은 문제가 발생하였다. {logging_mixin.py:188} WARNING - /home/ubuntu/airflow_venv/lib/python3.12/site-packages/airflow/task/task_runner/standard_task_runner.py:61 DeprecationWarning: This process (pid=7115) is multi-threaded,use of fork() may lead to deadlocks in the child. grep 명령어를 사용하여 fork 가 어디에서 사용되는지 해당 파일에서 확인해 보았다. fork() 함수가 _start_by_fork() 라는 함수 내부에서 사용되고 있다...
1. Airflow 의 주요 컴포넌트 Scheduler : workflow 스케줄을 실행시키고 executor 에게 task 를 제출하여 실행시킨다. Executor : task 실행을 관리하는 컴포넌트 Worker : 실제로 task 를 실행시키는 컴포넌트Webserver : DAG의 실행을 UI상에서 확인할 수 있도록 웹 서버를 제공한다. Metadata Database : DAGs 에 대한 정보와 task 의 상태에 대한 정보를 저장한다. Dags (folder) : DAG를 구성하는 코드가 있는 경로이다. airflow.cfg 파일에서 기본 경로를 설정할 수 있다. 2. Airflow Executor 의 종류 Sequential Executor기본 executor 이다.한번에 하나의 task 만..