데이터 전처리: 워크플로우 및 파이프라인 – Dagster

ㅁ 워크플로우 및 파이프라인

ㅇ 정의:
데이터 처리, 변환, 분석 작업을 순차적·병렬적으로 실행할 수 있도록 설계된 프로세스 흐름을 구성·관리하는 개념.

ㅇ 특징:
– 데이터 소스에서 수집, 전처리, 변환, 저장, 분석까지의 단계를 자동화
– 의존성 관리, 스케줄링, 모니터링 기능 제공
– 재사용 가능한 모듈화 구조

ㅇ 적합한 경우:
– 반복적 데이터 처리 작업이 많고, 단계 간 의존성이 명확한 경우
– 데이터 품질 관리와 파이프라인 안정성이 중요한 프로젝트

ㅇ 시험 함정:
– ETL 도구와 혼동하여 정의를 잘못 선택하는 경우
– 단순 스크립트 실행과 워크플로우 관리의 차이를 묻는 문제

ㅇ 시험 대비 “패턴 보기” 예시:
O: “데이터 처리 단계를 자동화하고 의존성을 관리하는 구조를 제공한다.”
X: “단일 데이터베이스 쿼리 실행만을 목적으로 한다.”

================================

1. Dagster

ㅇ 정의:
데이터 파이프라인을 선언적으로 정의하고, 각 단계의 의존성, 실행 순서, 자원 관리를 체계적으로 지원하는 오픈소스 워크플로우 오케스트레이션 도구.

ㅇ 특징:
– Python 기반으로 파이프라인 구성 가능
– 타입 시스템을 통한 데이터 검증 지원
– 개발, 테스트, 운영 환경에서 동일한 코드 실행 보장
– UI를 통한 파이프라인 시각화 및 모니터링 제공
– 스케줄링, 센서 기반 트리거 지원

ㅇ 적합한 경우:
– 데이터 품질 검증이 중요한 프로젝트
– 복잡한 의존성을 가진 파이프라인 관리 필요 시
– ML 모델 학습·배포 파이프라인 자동화

ㅇ 시험 함정:
– Airflow, Luigi 등과 기능 비교 문제에서 스케줄링 방식·타입 검증 기능 차이를 혼동
– 단순 데이터베이스 ETL 도구로 오인

ㅇ 시험 대비 “패턴 보기” 예시:
O: “타입 시스템을 활용해 데이터 파이프라인의 입력·출력을 검증할 수 있다.”
X: “Dagster는 SQL 전용 쿼리 최적화 엔진이다.”

ㅁ 추가 학습 내용

Dagster는 Airflow, Prefect 등과 비교했을 때 다음과 같은 특징이 있다.
– 타입 시스템과 데이터 검증 기능이 강력하다.
– 개발 환경과 운영 환경의 일관성을 보장하는 기능을 제공한다.
– Dagit UI를 통해 파이프라인과 데이터 흐름을 시각적으로 확인할 수 있다.
– 센서 기반 이벤트 트리거를 지원하여 특정 조건 발생 시 파이프라인을 실행할 수 있다.
– 파라미터화된 파이프라인 실행이 가능하다.

또한 시험 대비를 위해 다음 개념을 숙지해야 한다.
– 파이프라인 재시도 정책 설정 방법
– 에러 핸들링 방식
– 자원 관리(Resource definitions)의 개념과 활용 방법

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*