하둡 시절 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 파트가 시작된다.
'공부를 하다 > Databricks' 카테고리의 다른 글
| Day 08. DataFrameReader API + Views (0) | 2026.08.24 |
|---|---|
| Day 07. Databricks 아키텍처 + Notebooks + Git Folders (0) | 2026.08.24 |
| Day 05. Delta Live Tables — 파이프라인을 선언만 하면 알아서 실행되는 구조 (0) | 2026.08.01 |
| Day 04. Structured Streaming — 데이터가 흘러오는 걸 실시간으로 처리하기 (0) | 2026.07.28 |
| Day 03. Auto Loader — 새 파일이 오면 알아서 처리되는 구조 (0) | 2026.07.24 |