40

Phase 1: 스트리밍 소스와 Delta 저장

Weekly Project: 실시간 이커머스 파이프라인

학습 목표

Rate Source로 스트리밍 데이터를 생성한다 주문 데이터를 변환한다 Delta Lake에 저장한다

Phase 1: 기본 파이프라인 구축

Rate Source로 주문 데이터를 생성하고 Delta Lake에 저장합니다.

구현 순서

  1. SparkSession 설정 (Delta 확장)
  2. Rate Source 생성 (초당 20건)
  3. 주문 데이터 변환
  4. Delta Lake 저장 (Checkpoint 포함)
  5. 30초 대기 후 결과 확인

주문 데이터 변환 규칙

컬럼변환 규칙
order_idvalue (자동 증가)
customer_idrand() * 1000 + 1 (1-1000)
product_idrand() * 50 + 1 (1-50)
amount95%: 10-1000, 5%: 5000-10000
regionSeoul/Busan/Daegu/Incheon 중 랜덤
order_timetimestamp (Rate Source 제공)
에디터 로딩 중...
힌트 보기
  • F.array()로 문자열 배열 생성
  • F.element_at(array, index)로 랜덤 선택 (1-based)
  • F.when().otherwise()로 조건부 금액 생성
  • checkpointLocation은 필수 (장애 복구용)
  • trigger(processingTime)으로 배치 간격 조절
정답 보기
에디터 로딩 중...