Databricks 데이터 엔지니어

Databricks 데이터 엔지니어 16강

[Professional] 테스트 & 배포 — CI/CD·Asset Bundles

Professional 마지막 강은 파이프라인의 테스트와 배포(CI/CD)를 다룬다.

Databricks 16강 개념도

노트북을 손으로 옮기는 대신, 코드를 버전관리하고 자동 테스트·환경별 배포로 신뢰성 있게 운영한다.

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

  • Repos와 Git으로 코드를 버전관리한다.
  • 단위·통합 테스트를 자동화한다(CI).
  • Databricks Asset Bundles(DAB)로 환경별 배포를 한다.

1. Git Repos

노트북·코드를 Git 저장소와 연동한다.

  • 브랜치·PR·코드 리뷰로 협업한다.
  • 변경 이력이 남아 되돌리기·추적이 쉽다.

2. 테스트 자동화 (CI)

  • 단위 테스트: 변환 함수를 작은 입력으로 검증한다. 로직을 함수로 분리해 테스트 가능하게 만든다.
  • 통합 테스트: 실제 소규모 데이터로 파이프라인 전체를 검증한다.
  • PR이 올라오면 CI가 테스트를 자동 실행해 통과해야 병합한다.

3. Databricks Asset Bundles (DAB)

databricks.yml로 잡·파이프라인·클러스터·설정을 코드로 선언한다.

# databricks.yml
targets:
  dev:  { mode: development }
  prod: { mode: production }
  • 하나의 정의로 dev→staging→prod에 동일하게 재현 배포한다.
  • 배포가 코드화되어 리뷰·롤백이 쉽다.

4. 배포 흐름

  1. 기능 브랜치에서 개발 → PR.
  2. CI가 단위·통합 테스트 실행.
  3. 병합 후 DAB로 staging 배포·검증.
  4. 승인되면 prod에 배포.

예제

예제) 개발 환경에서는 잘 되던 잡이 운영에서 자꾸 어긋난다. 환경 차이를 없애려면?

해설) 잡·파이프라인·클러스터 설정을 Databricks Asset Bundle(databricks.yml)로 코드화하고, target만 바꿔 dev·staging·prod에 동일하게 배포한다. 환경이 같은 정의에서 나오므로 구성 차이가 사라진다. 변환 로직은 단위 테스트로, 파이프라인은 통합 테스트로 CI에서 검증한 뒤 배포한다.

샘플 문제

문) 잡·파이프라인 설정을 코드로 선언해 여러 환경에 재현 배포하는 Databricks 도구는?

  • (A) VACUUM
  • (B) Databricks Asset Bundles(DAB)
  • (C) Auto Loader
  • (D) ZORDER

정답: (B). DAB는 databricks.yml로 리소스를 코드화해 dev→prod에 일관되게 배포하는 IaC/CD 도구다.

정리

  • Repos+Git으로 코드를 버전관리하고 PR로 협업한다.
  • 로직을 함수로 분리해 단위 테스트, 소규모 데이터로 통합 테스트를 자동화(CI).
  • DAB(databricks.yml)로 리소스를 코드화해 환경별 재현 배포.
  • dev→staging→prod 흐름으로 검증 후 배포한다.

이것으로 Databricks 데이터 엔지니어 자격증 시리즈(1~16강)를 마친다. Associate의 기초부터 Professional의 최적화·거버넌스·CI/CD까지, 시험 도메인을 실무 흐름으로 익혔다.

댓글 0