전체 글

"Reflections and Growth Through Records" 회고와 기록을 통한 성장으로
#️⃣ 1. Airflow 커스텀 컴포넌트 Airflow는 기본 내장 기능 확장 가능하다 → 공통 작업을 커스텀 오퍼레이터/센서/훅으로 개발 가능 ⇒ 이후 파이썬 라이브러리로 구현하여 구조적으로 만들 수 있음 커스텀 훅으로 Airflow가 지원하지 않는 시스템과 연동 가능 커스텀 오퍼레이터 개발은 Airflow 기본 내장 Operator로 처리할 수 없는 태스크를 수행할 수 있게 함, 코드 재사용 가능 커스텀 센서는 특정(외부) 이벤트 발생할 때까지 대기하는 컴포넌트 구현 가능 #️⃣ 2. 실습 예제 : 영화 평점 API에서 데이터를 가져와서 인기 영화 랭킹을 추출하는 실습 영화 평점 데이터는 JSON 포맷 데이터 API 호출 시 offset, limit, start_date과 end_date 파라미터를..
☀️ Ch7. Airflow 외부 시스템과 통신하기 #️⃣ 1. Airflow 일반적인 사용 사례 1-1. 머신러닝 모델 학습 Airflow 워크플로는 일반적으로 오프라인 부분(:데이터 셋으로 학습하고 결과를 저장) 담당함 모델 학습 부분 : 데이터 로드하고 모델에 적합한 형식으로 전처리하여 모델 학습하는것 주기적으로 모델 재학습하는 것은 Airflow 배치 프로세스 기능에 적합함 1-2. 시스템 간 데이터 이동 Airflow 일반적인 사용 사례는 정기적인 ETL 작업이다. 프로덕션 데이터베이스 같은 곳에서 매일 데이터 다운로드하고 다른곳에서 변환 이때 스토리지 저장 공간은 증가하고, 모든 데이터를 처리하기 위해서는 분산 처리가 필요하게 됨 #️⃣ 2. Airflow 단일 태스크 실행 명령어 airflo..
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)을 사용하여 파일/디렉토리 이름과 패..
Ch5. 태스크 간 의존성 5.1 기본 의존성 유형 다양한 태스크 의존성 패턴이 있음 태스크 의존성을 명시적으로 지정 시 장점: 여러 태스크에서 (암묵적인) 순서를 명확하게 정의 가능 업스트림 태스크/다운스트림 태스크 : A (업스트림)→B (다운스트림태스크) 5.1.1. 선형 의존성 유형 >> 로 의존성 만듦 이때 기본 값으로 설정 시, 모든 오류는 Airflow에 의해 다운스트림 태스크로 전달되어 실행을 지연시킴 5.1.2. 팬인/팬아웃(Fan-in/Fan-out 의존성) #️⃣팬아웃(Fan-out): 여러개의 입력 태스크 연결 수 제한) - 업스트림 DAG의 시작을 나타내는 더미 태스크 추가하면 암묵적인 팬아웃 설명하는데 도움됨 #️⃣팬인 구조(Fan-in) : 단일 다운스트림 태스크가 여러 업스트..
Ch4. Airflow 태스크 템플릿 1. 모든 태스크 콘텍스트 변수 목록 및 출력 def _print_context(**kwargs): # 혹은 (**context)
☀️Ch2. Airflow DAG 구조 Airflow 워크플로는 DAG 로 표시함 태스크를 나누는 방법에는 정답이나 오답은 없다. 다만 몇 사지 고려사항에 맞게 적용하기 태스크 실행 순서 정의 (= 태스크 의존성 설정) : >> 로 표시함 “오퍼레이터와 태스크 차이점” 오퍼레이터(Operator) : 단일 작업 수행 역할 태스크(Task)는 오퍼레이터 상태를 관리하고 사용자에게 상태 변경을 표시하는 Airflow 내장 컴포넌트 TASK 코드 작성 시, 변수 이름을 실행할 함수 명과 task_id를 동일하게 하면 가독성 좋음 Airflow 웹서버 웹 브라우저에서 실패한 태스크 옵션 Clear: 태스크를 초기화하고 이를 재실행함 (reset) OK: 실패한 태스크와 연속된 태스크가 초기화됨 ☀️Ch3. Ai..
HyeM207
HYEM's Storage