45분
Step 1: 로그 파싱 파이프라인
Day 5: 대용량 로그 분석 파이프라인
Step 1: 로그 파싱 파이프라인
Apache Spark: 대용량 데이터 처리의 시작 > Day 5: 대용량 로그 분석 파이프라인
학습 목표
정규식으로 로그를 파싱할 수 있다 UDF를 활용해 복잡한 파싱 로직을 구현할 수 있다
로그 파싱 전략
Apache Combined Log Format을 파싱합니다.
정규식 패턴
에디터 로딩 중...
파싱 결과 컬럼
| 그룹 | 컬럼명 | 예시 |
|---|---|---|
| 1 | ip | 192.168.1.1 |
| 2 | ident | - |
| 3 | user | frank |
| 4 | timestamp | 10/Oct/2024:13:55:36 +0900 |
| 5 | method | GET |
| 6 | url | /api/users |
| 7 | protocol | HTTP/1.1 |
| 8 | status | 200 |
| 9 | size | 1234 |
| 10 | referer | https://example.com |
| 11 | user_agent | Mozilla/5.0 ... |
추가 변환
- timestamp → datetime 타입
- status → integer 타입
- size → integer 타입 (- 는 0으로)
에디터 로딩 중...
힌트 보기
- • regexp_extract(col, pattern, group_number)
- • to_timestamp(col, format) 사용
- • when().when().otherwise() 체이닝
- • rlike()로 정규식 매칭
정답 보기
에디터 로딩 중...