Databricks 데이터 엔지니어

Databricks 데이터 엔지니어 8강

[Associate] 프로덕션 파이프라인 & 거버넌스

Associate 마지막 강은 파이프라인을 운영하는 프로덕션 Job거버넌스를 다룬다.

Databricks 8강 개념도

개발한 노트북·DLT를 자동으로 실행하려면 Job으로 스케줄링하고, Unity Catalog로 접근 권한을 통제해야 한다.

이 강의 목표는 다음과 같다.

  • 멀티태스크 Job으로 워크플로를 구성한다.
  • 스케줄·재시도·알림을 설정한다.
  • Unity Catalog로 권한과 대시보드를 관리한다.

1. Databricks Jobs

Job은 여러 태스크를 DAG로 묶어 순서대로 실행한다.

  • 각 태스크는 노트북·SQL·DLT 파이프라인·JAR 등이 될 수 있다.
  • 태스크 간 의존성을 지정해 "수집 → 변환 → 집계" 순서를 만든다.
  • 스케줄(cron), 재시도, 실패 시 알림을 설정한다.
  • 자동화에는 비용이 낮은 Job 클러스터를 쓴다(대화형 All-Purpose와 구분).

2. SQL 워크플로와 대시보드

  • Databricks SQL로 쿼리를 저장하고 대시보드를 만든다.
  • 경고(Alert): 쿼리 결과가 임계치를 넘으면 알림을 보낸다.

3. Unity Catalog 거버넌스

Unity Catalog는 워크스페이스를 넘어 데이터 자산을 중앙에서 통제한다.

GRANT SELECT ON TABLE sales_db.orders TO `analyst@corp.com`;
REVOKE SELECT ON TABLE sales_db.orders FROM `intern@corp.com`;
  • 3단 이름공간: 카탈로그.스키마.테이블.
  • 계보(lineage): 어떤 테이블이 무엇에서 왔고 어디에 쓰이는지 추적.
  • 감사 로그: 누가 무엇에 접근했는지 기록.

4. 최소 권한 원칙

필요한 사람에게 필요한 권한만 GRANT 하고, 그룹 단위로 부여해 관리 부담을 줄인다.

예제

예제) 매일 새벽 Bronze→Silver→Gold를 순서대로 돌리고, 실패하면 담당자에게 알림을 보내려면?

해설) 세 단계를 태스크로 만들어 의존성으로 연결한 멀티태스크 Job을 구성한다. cron 스케줄(새벽)과 재시도 횟수를 설정하고, 실패 시 이메일/웹훅 알림을 건다. 실행은 비용이 낮은 Job 클러스터로 한다.

샘플 문제

문) 자동화된 예약 파이프라인 실행에 권장되는 컴퓨트는?

  • (A) All-Purpose(대화형) 클러스터
  • (B) Job 클러스터
  • (C) 로컬 모드
  • (D) SQL 웨어하우스 서버리스만

정답: (B). 예약 자동 실행에는 잡 시작 시 생성·종료되는 Job 클러스터가 비용 효율적이며 권장된다. All-Purpose는 대화형 개발용이다.

정리

  • Job은 멀티태스크 DAG로 워크플로를 구성하고 스케줄·재시도·알림을 설정.
  • 자동화에는 Job 클러스터를 쓴다(대화형과 구분).
  • Unity Catalog로 3단 이름공간·GRANT 권한·계보·감사를 관리.
  • 최소 권한 원칙으로 그룹 단위 권한을 부여한다.

여기까지가 Associate 과정(1~8강)이다. 다음 강부터는 Professional 심화로 들어간다.

댓글 0