Lakeflow Jobs로 워크플로 만들기

Lakeflow Jobs로 워크플로 만들기

ETL이나 ML 파이프라인을 매번 손으로 돌릴 수는 없죠. 반복되는 데이터 처리 작업을 예약하고, 여러 태스크를 한 흐름으로 엮어 실행·감시해야 하는데, Databricks의 Lakeflow Jobs가 바로 그 워크플로 자동화 역할을 해요. 데이터 처리 워크로드를 오케스트레이션해서, 자주 반복되는 태스크의 실행을 최적화하고 복잡한 워크플로를 관리할 수 있게 해 줍니다.

잡(Job), 태스크(Task), 트리거(Trigger)

Lakeflow Jobs에서 오케스트레이션을 이해할 때 핵심 개념은 세 가지예요. 은 연산을 조율·예약·실행하는 1차 리소스이고, 태스크는 잡 안에서 일하는 작업 단위이며, 트리거는 특정 조건이나 이벤트에 따라 잡을 시작시키는 메커니즘입니다.

잡(Job) — 단일 태스크(노트북 하나 실행)부터 수백 개의 태스크(조건 분기와 의존성 포함)까지 복잡도가 다양해요. 잡의 태스크들은 방향성 비순환 그래프(DAG)로 시각화됩니다. 잡에는 다음 속성을 지정할 수 있어요.

  • 트리거 — 언제 잡을 실행할지 정의합니다.
  • 파라미터 — 실행 시점에 잡 안의 태스크로 자동 전달되는 런타임 파라미터입니다.
  • 알림 — 잡 실패·지연 시 보낼 이메일이나 웹훅입니다.
  • Git — 잡 태스크의 소스 제어 설정입니다.

태스크(Task) — 잡 안에서 수행되는 구체적인 작업 단위로, 여러 종류가 있어요. 노트북 태스크는 Databricks 노트북을 실행하고 파라미터를 지정하며, 파이프라인 태스크는 기존 Lakeflow 파이프라인(예: 구체화된 뷰·스트리밍 테이블)을 실행하고, 파이썬 스크립트 태스크는 파이썬 파일을 실행합니다. 태스크는 서로 의존성을 갖고 조건부로 다른 태스크를 실행할 수 있어, 조건 분기와 의존성 있는 복잡한 워크플로를 만들 수 있죠.

트리거(Trigger) — 시간 기반(예: 매일 오전 2시)이거나 이벤트 기반(예: 클라우드 저장소에 새 데이터 도착)일 수 있어요.

모니터링과 관측성

잡은 모니터링·관측성을 기본 지원해요. Databricks UI에서 잡 목록·소유자·마지막 실행 결과를 보고 실행 이력을 조회하며 각 태스크의 상세를 확인할 수 있고, 잡 실행 성공 여부와 태스크별 로그·메트릭을 보고 진단합니다. 이메일·Slack·커스텀 웹훅 등으로 알림도 설정할 수 있어요.

한계와 프로그래매틱 조율

잡 실행에는 몇 가지 상한이 있어요. 워크스페이스당 동시 태스크 실행은 2000개로 제한되고(즉시 시작하지 못하면 429 Too Many Requests 반환), 한 시간에 만들 수 있는 잡 수는 10000(runs submit 포함), 워크스페이스에 저장할 수 있는 잡은 12000, 잡 하나의 태스크는 1000, 파라미터의 동적 값은 10,000자까지예요.

잡은 REST API로도 프로그래매틱하게 스케줄·오케스트레이션할 수 있어요. Databricks CLI, Declarative Automation Bundles, VS Code 확장, Databricks SDK, Jobs REST API를 쓸 수 있고, Apache Airflow 같은 외부 도구로도 예약할 수 있죠.

출처: Lakeflow Jobs — Databricks on AWS

더 알아보기