40

Bronze → Silver: 정제 파이프라인

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 기준

요구사항

  1. 정제 로직

    • 타입 변환
    • null 처리
    • 문자열 정규화
  2. 중복 제거

    • Window 함수 사용
    • 최신 레코드 유지
  3. Delta 저장

    • MERGE 문 사용 (증분 처리)
    • 파티션 설정
에디터 로딩 중...
힌트 보기
  • F.coalesce()는 여러 값 중 첫 번째 non-null 값을 반환한다
  • Window 함수의 partitionBy는 SQL의 GROUP BY와 비슷하다
  • row_number()는 1부터 시작하는 순번을 매긴다
  • Delta MERGE는 INSERT, UPDATE를 한 번에 처리한다
정답 보기
에디터 로딩 중...