40분
Phase 1: 스트리밍 소스와 Delta 저장
Weekly Project: 실시간 이커머스 파이프라인
Phase 1: 스트리밍 소스와 Delta 저장
Spark 심화: Streaming & Delta Lake > Weekly Project: 실시간 이커머스 파이프라인
학습 목표
Rate Source로 스트리밍 데이터를 생성한다 주문 데이터를 변환한다 Delta Lake에 저장한다
Phase 1: 기본 파이프라인 구축
Rate Source로 주문 데이터를 생성하고 Delta Lake에 저장합니다.
구현 순서
- SparkSession 설정 (Delta 확장)
- Rate Source 생성 (초당 20건)
- 주문 데이터 변환
- Delta Lake 저장 (Checkpoint 포함)
- 30초 대기 후 결과 확인
주문 데이터 변환 규칙
| 컬럼 | 변환 규칙 |
|---|---|
| order_id | value (자동 증가) |
| customer_id | rand() * 1000 + 1 (1-1000) |
| product_id | rand() * 50 + 1 (1-50) |
| amount | 95%: 10-1000, 5%: 5000-10000 |
| region | Seoul/Busan/Daegu/Incheon 중 랜덤 |
| order_time | timestamp (Rate Source 제공) |
에디터 로딩 중...
힌트 보기
- • F.array()로 문자열 배열 생성
- • F.element_at(array, index)로 랜덤 선택 (1-based)
- • F.when().otherwise()로 조건부 금액 생성
- • checkpointLocation은 필수 (장애 복구용)
- • trigger(processingTime)으로 배치 간격 조절
정답 보기
에디터 로딩 중...