Output Modes별 쿼리 타입 정리
Spark에서 writeStream의 outputMode 별 지원 쿼리 타입 정리
Output Modes별 쿼리 타입 정리
개요
- Spark 3.5.6에서
writeStream의outputMode(Append, Complete, Update)별 지원 쿼리 타입 정리 console,kafka,parquet,memory등 모든 싱크 포맷에 적용- 단, 일부 싱크는 특정 output mode를 지원하지 않을 수 있음
- 제한사항은 불릿 포인트로 간략히 표시
| 쿼리 타입 | Append | Complete | Update |
|---|---|---|---|
| Non-aggregation queries - select- filter- map- etc. | - 무한 스트림 유지 불가 | - 무한 스트림 유지 불가 | |
| Aggregation without watermark - groupBy- count- etc. | - watermark 없이 상태 무한히 증가 | - watermark 없이 상태 무한히 증가 | |
| Aggregation on event-time with watermark - windowed groupBy | - watermark 필수: 상태 정리, 늦은 데이터 처리 - 출력 지연 가능 | - watermark 지원: 늦은 데이터 처리, 상태 유지 | - watermark 필수: 상태 정리 |
mapGroupsWithState | - 집계 없음 - Update 전용 | ||
flatMapGroupsWithState | - Append 모드만 - 집계 후 가능 | - Update 모드만 - 집계 없음 | |
| Joins - stream-static or stream-stream | - Stream-stream: watermark와 시간 제약 필요 - Outer/semi join 제한적 | ||
| Deduplication - distinct- dropDuplicates | - watermark 있으면 상태 제한, 없으면 무한히 증가 | - watermark 있으면 상태 제한, 없으면 무한히 증가 | |
| Sorting - orderBy after aggregation | - 집계 후만 지원 |
This post is licensed under CC BY 4.0 by the author.