Ch6. Airflow 워크플로 트리거 워크플로 트리거 방법 스케줄 간격 ← ch2 특정 태스크 수행 후 트리거 ← ch6 6.1 센서를 사용한 폴링 조건 Sensor: Airflow 오퍼레이터의 특수타입(서브클래스) 센서는 특정 조건이 true인지 지속적으로 확인하고 true라면 성공함 Poke(포크) / Poking Poking은 센서를 실행하고 상태를 확인하기 위해 Airflow에서 사용하는 이름 e.g. 센서는 대략 1분에 한 번씩 주어진 파일이 있는지 포크(Poke)한다. FileSensor FileSensor : 파일 존재 여부에 따라 true/false반환. False시 해당 센서는 지정된 시간 (기본 60초) 대기 후 다시 시도함 글로빙(globbing)을 사용하여 파일/디렉토리 이름과 패..
Apache Airflow기반의 데이터 파이프라인
Ch5. 태스크 간 의존성 5.1 기본 의존성 유형 다양한 태스크 의존성 패턴이 있음 태스크 의존성을 명시적으로 지정 시 장점: 여러 태스크에서 (암묵적인) 순서를 명확하게 정의 가능 업스트림 태스크/다운스트림 태스크 : A (업스트림)→B (다운스트림태스크) 5.1.1. 선형 의존성 유형 >> 로 의존성 만듦 이때 기본 값으로 설정 시, 모든 오류는 Airflow에 의해 다운스트림 태스크로 전달되어 실행을 지연시킴 5.1.2. 팬인/팬아웃(Fan-in/Fan-out 의존성) #️⃣팬아웃(Fan-out): 여러개의 입력 태스크 연결 수 제한) - 업스트림 DAG의 시작을 나타내는 더미 태스크 추가하면 암묵적인 팬아웃 설명하는데 도움됨 #️⃣팬인 구조(Fan-in) : 단일 다운스트림 태스크가 여러 업스트..
☀️Ch2. Airflow DAG 구조 Airflow 워크플로는 DAG 로 표시함 태스크를 나누는 방법에는 정답이나 오답은 없다. 다만 몇 사지 고려사항에 맞게 적용하기 태스크 실행 순서 정의 (= 태스크 의존성 설정) : >> 로 표시함 “오퍼레이터와 태스크 차이점” 오퍼레이터(Operator) : 단일 작업 수행 역할 태스크(Task)는 오퍼레이터 상태를 관리하고 사용자에게 상태 변경을 표시하는 Airflow 내장 컴포넌트 TASK 코드 작성 시, 변수 이름을 실행할 함수 명과 task_id를 동일하게 하면 가독성 좋음 Airflow 웹서버 웹 브라우저에서 실패한 태스크 옵션 Clear: 태스크를 초기화하고 이를 재실행함 (reset) OK: 실패한 태스크와 연속된 태스크가 초기화됨 ☀️Ch3. Ai..
💁♀️내용 정리에 앞서, 책 읽게 된 이유 데브코스 하며 Airflow 학습하고 실제 프로젝트에 적용해보는 경험을 했다. 하지만 최종 프로젝트를 하며 Airflow를 조금 더 깊게 학습하고 제대로 공부하고 싶다는 생각에 책을 구입하게 되었다. 또한, 9월에 프로젝트를 종료하고 두 달 정도 지나니 머리속에서 가물가물해져 복습할겸 책을 읽어본다. 한 챕터씩 읽고 글로 정리하는 목표로 읽어보자 Ch1. Airflow 살펴보기 Airflow 주요 기능 유연한 파이썬 프레임워크를 사용해 쉽게 데이터 파이프라인 구축 가능하며, 서로 다른 기술들을 연결할 수 있는 다양한 빌딩 블록 제공 Airflow 는 직접 데이터 처리 X → 데이터 처리를 위한 다양한 구성 요소들을 조정 방향성 비순환 그래프 (Directed ..