공부를 하다/Databricks

Day 06. Workflows — 파이프라인 자동화의 진화

Banaaan 2026. 8. 1. 07:49

하둡 시절 Oozie를 썼다. XML로 워크플로우를 정의해야 했고, 로그가 부실해서 뭐가 잘못됐는지 파악하기 어려웠다. 그 다음엔 Airflow로 넘어갔다. Python으로 DAG를 작성할 수 있어서 훨씬 나았지만, 별도 서버가 필요하고 Databricks 연동은 따로 설정해야 했다.

Databricks Workflows는 그 다음 단계다.


스케줄링 도구의 흐름

Oozie (하둡 시대)     → XML 기반, 로그 부실, 복잡
        ↓
Airflow               → Python DAG, 모니터링 개선, 별도 서버 필요
        ↓
Databricks Workflows  → Databricks 내장, 별도 서버 불필요

Workflows란?

작업을 스케줄링하고 자동화하는 기능이다.

매일 오전 9시에 자동으로:
1. 원천 데이터 수집 (노트북 실행)
2. DLT 파이프라인 실행
3. 리포트 생성

Airflow와 비교

  Airflow Databricks Workflows
별도 서버 필요 불필요 (Databricks 내장)
Databricks 연동 별도 설정 기본 지원
스케줄링 Cron Cron
모니터링 UI 별도 기본 내장

Job 구성 요소

Job (전체 작업)
├── Task 1: 노트북 실행
├── Task 2: DLT 파이프라인 실행  (Task 1 완료 후)
└── Task 3: SQL 쿼리 실행        (Task 2 완료 후)

Task 간 의존성을 설정하면 순서대로 자동 실행된다.


핵심 개념

개념 내용
Job 전체 작업 단위
Task Job 안의 개별 작업
의존성 Task 간 실행 순서 설정
Schedule Cron으로 자동 실행
Repair run 실패한 Task부터 재실행 (처음부터 안 해도 됨)

Repair run

실패한 Task가 있을 때 처음부터 다시 실행하지 않고, 실패한 지점부터 재실행하는 기능이다. 앞 Task가 성공했으면 그대로 유지된다.


오늘로 Associate 기초 파트가 끝났다.

✓ Day 1: Spark 기초
✓ Day 2: Delta Lake
✓ Day 3: Auto Loader
✓ Day 4: Structured Streaming
✓ Day 5: Delta Live Tables
✓ Day 6: Workflows

다음 세션부터 Professional 파트가 시작된다.