40분
Bronze → Silver: 정제 파이프라인
Day 3: 데이터 변환 파이프라인
Bronze → Silver: 정제 파이프라인
Phase 1 캡스톤: E2E 데이터 파이프라인 > Day 3: 데이터 변환 파이프라인
학습 목표
Raw 데이터를 정제할 수 있다 중복 제거 로직을 구현할 수 있다 Delta Lake에 데이터를 저장할 수 있다
미션: Staging 변환 구현
Bronze(Raw) 데이터를 Silver(Staging)로 변환하는 Transformer를 만드세요.
정제 규칙
Users 테이블:
- email: 소문자 변환, trim
- user_id: 정수로 변환
- created_at: timestamp 타입으로 통일
- 중복 제거: user_id 기준, 최신 레코드 유지
Events 테이블:
- event_id: 필수, null이면 제외
- timestamp: ISO8601 형식으로 파싱
- 중복 제거: event_id 기준
요구사항
-
정제 로직
- 타입 변환
- null 처리
- 문자열 정규화
-
중복 제거
- Window 함수 사용
- 최신 레코드 유지
-
Delta 저장
- MERGE 문 사용 (증분 처리)
- 파티션 설정
에디터 로딩 중...
힌트 보기
- • F.coalesce()는 여러 값 중 첫 번째 non-null 값을 반환한다
- • Window 함수의 partitionBy는 SQL의 GROUP BY와 비슷하다
- • row_number()는 1부터 시작하는 순번을 매긴다
- • Delta MERGE는 INSERT, UPDATE를 한 번에 처리한다
정답 보기
에디터 로딩 중...