각 노트북을 처음부터 만들고 싶다면, 아래 프롬프트를 Claude Code에 붙여넣기하세요. Claude가 AI Dev Kit의 MCP 도구와 스킬을 활용해서 노트북을 자동 생성합니다.
01. 카탈로그 & 스키마 설정
02. 가상 데이터 생성
03. Bronze → Silver → Gold 변환 (CTAS 수동)
04. SDP 선언적 파이프라인
** 중요:** 최신 SDP API(from pyspark import pipelines as dp)를 사용하세요. 이전import dlt방식은 레거시입니다.
노트북별 Databricks 핵심 기능 설명
01. 카탈로그 & 스키마 설정에서 사용하는 기능
Unity Catalog — 통합 데이터 거버넌스
모든 데이터 자산(테이블, 뷰, 모델, 함수)을 하나의 카탈로그 에서 관리합니다.- 3단계 네임스페이스(
catalog.schema.table): 조직 구조에 맞게 데이터를 계층적으로 정리 - 중앙집중 권한 관리:
GRANT USE SCHEMA gold TO analysts한 줄로 접근 제어 - 자동 데이터 리니지: 테이블 간 데이터 흐름을 자동 추적 — “이 Gold 테이블은 어떤 Bronze 데이터에서 왔는가?”
- 기존 Hive Metastore 대비 장점: 워크스페이스 간 공유, 세밀한 권한(행/열 수준), 감사 로그 내장
Medallion Architecture — Bronze/Silver/Gold 패턴
데이터 품질을 단계적으로 높이는 업계 표준 아키텍처입니다.- Bronze: 원본 그대로 보존 → 문제 발생 시 언제든 재처리 가능
- Silver: 정제/검증 → 비즈니스 로직 적용 전 신뢰할 수 있는 데이터
- Gold: 비즈니스 관점 집계 → 대시보드, ML 모델이 바로 사용
- 핵심 가치: 각 레이어가 독립적이라 한 곳이 바뀌어도 전체를 재구축할 필요 없음
02. 가상 데이터 생성에서 사용하는 기능
Delta Lake — 신뢰할 수 있는 데이터 저장소
Databricks의 모든 테이블은 기본적으로 Delta Lake 형식으로 저장됩니다.- ACID 트랜잭션: 100만건 INSERT 중 실패해도 데이터가 깨지지 않음 (전부 성공 or 전부 롤백)
- Time Travel:
SELECT * FROM table VERSION AS OF 3— 과거 시점 데이터 조회 및 복원 - Schema Enforcement: 잘못된 타입의 데이터가 들어오면 자동 차단
- 기존 Parquet/CSV 대비 장점: 트랜잭션 보장, 업데이트/삭제 가능, 자동 최적화
PySpark — 대규모 분산 처리
단일 머신에서 처리 불가능한 대용량 데이터를 클러스터 전체에 분산 하여 처리합니다.- 자동 병렬 처리: 100만건 데이터를 여러 노드가 동시에 처리
- Lazy Evaluation: 실행 계획을 먼저 최적화한 후 한번에 실행 — 불필요한 연산 제거
- DataFrame API: SQL과 유사한 직관적 문법 (
df.filter().groupBy().agg()) - 기존 Pandas 대비 장점: 메모리 한계 없음, TB 단위 데이터도 처리 가능
Serverless Compute — 인프라 관리 불필요
클러스터를 직접 생성/관리할 필요 없이, 노트북 실행 시 자동으로 컴퓨트가 할당됩니다.- 즉시 시작: 클러스터 대기 시간 없이 바로 실행
- 자동 스케일링: 작업량에 따라 리소스 자동 조절
- 사용한 만큼 과금: 유휴 비용 없음
03. CTAS 수동 변환에서 사용하는 기능
CREATE OR REPLACE TABLE AS SELECT (CTAS) — SQL 기반 ETL
가장 직관적인 데이터 변환 방식입니다. SQL만 알면 ETL 파이프라인을 구축할 수 있습니다.- 한 문장으로 변환 완료: SELECT로 변환 로직을 정의하면 결과가 바로 테이블로 저장
- 익숙한 SQL 문법: JOIN, GROUP BY, 윈도우 함수 등 표준 SQL 그대로 사용
- 멱등성: OR REPLACE로 재실행해도 동일한 결과 보장
- 한계: 매번 전체 재계산, 증분 처리 불가, 의존성 수동 관리 → 이를 SDP가 해결
윈도우 함수 (RANK, ROW_NUMBER) — 고급 분석
GROUP BY로는 불가능한 행 단위 순위/비교 분석을 제공합니다.RANK() OVER (PARTITION BY date ORDER BY viewers DESC): 일별 콘텐츠 순위ROW_NUMBER(): 사용자별 선호 장르 Top 1 추출- 기존 서브쿼리 대비 장점: 성능 우수, 코드 간결, 여러 윈도우 동시 적용 가능
CTE (Common Table Expression) — 복잡한 쿼리 구조화
WITH 절로 복잡한 쿼리를 이름 붙인 단계 로 분리합니다.
- 사용자 프로필 생성 시: 시청 피처 CTE + 클릭 피처 CTE + 광고 피처 CTE → 최종 JOIN
- 가독성: 300줄 쿼리를 논리적 블록으로 분리
- 재사용: 같은 CTE를 여러 번 참조 가능
04. SDP 선언적 파이프라인에서 사용하는 기능
Spark Declarative Pipelines (SDP) — 선언적 데이터 파이프라인
“무엇을 만들 것인가”만 선언하면,** 어떻게 실행할지는 엔진이 자동 결정** 합니다.- 자동 의존성 해결:
spark.read.table("devices_sdp")만 쓰면 devices 먼저 실행됨을 자동 감지 - 증분 처리: 새로 추가된 데이터만 처리 — 전체 재계산 대비 10~100배 빠름
- 자동 오류 복구: 실패 시 체크포인트에서 재시작 (처음부터 다시 하지 않음)
- 기존 노트북 ETL 대비 장점: 스케줄링/모니터링/재처리가 모두 내장
@dp.table() vs @dp.materialized_view() — 두 가지 테이블 유형
@dp.table() | @dp.materialized_view() | |
|---|---|---|
| 용도 | 증분 데이터 처리 (Silver) | 전체 재계산 집계 (Gold) |
| 처리 방식 | 새 데이터만 추가 처리 | 매 실행마다 전체 재계산 |
| 적합한 경우 | 로그 데이터, 이벤트 스트림 | 일별 요약, 랭킹, KPI |
| 기존 용어 | Streaming Table | Materialized View |
Expectations — 내장 데이터 품질 검증
변환 로직 안에 데이터 품질 규칙을 선언합니다. 별도 검증 코드가 필요 없습니다.@dp.expect_or_fail("valid_id", "device_id IS NOT NULL"): 위반 시 파이프라인 중단 — 치명적 오류용@dp.expect_or_drop("valid_duration", "duration > 0"): 위반 행만 제거 — 이상치 필터링용@dp.expect("soft_check", "price > 0"): 위반 기록만 남기고 계속 진행 — 모니터링용- 파이프라인 UI에서 시각화: 몇 건이 통과/실패했는지 대시보드로 확인 가능
최신 API: pyspark.pipelines (dp) vs 레거시 dlt
- 읽기 방식 변경:
dlt.read()→spark.read.table()(표준 Spark API 사용) - MV 전용 데코레이터:
@dlt.table()하나로 통합 →@dp.table()+@dp.materialized_view()분리 - 핵심 이점: 표준 Spark 문법과 통일되어, SDP 밖에서도 동일한 코드를 재사용 가능
05. AI/BI Dashboard 심화 Gold 테이블
06. AI/BI Dashboard 생성
07. AI/BI Genie Space 생성 + 15개 질문 테스트
08. Structured Streaming (Volume → Auto Loader)
09. ML 개인화 추천 모델
10. Lakebase & Apps
참고: 프롬프트 작성 팁
좋은 프롬프트의 공통 패턴
- 목적을 먼저 명시- “~하는 노트북을 만들어줘”
- 동적 prefix 요구- “current_user() 기반 카탈로그 이름”
- 테이블/컬럼을 구체적으로- 이름, 타입, 생성 규칙까지
- 변환 로직을 명시- WHERE 조건, 파생 컬럼 공식
- 검증 셀 포함 요청- “통계 확인”, “건수 비교”
- 업로드까지 요청- “워크스페이스에 업로드해줘”
프롬프트에서 자유롭게 변경 가능한 부분
- 테이블 건수 (10K → 1K로 줄여서 빠르게 테스트)
- 광고주 이름 (한국 기업 → 글로벌 기업)
- 도메인 시나리오 (스마트TV → IoT센서, 이커머스 등)
- suffix 규칙 (_ctas, _sdp → _manual, _auto 등)