在SparkStreaming中窗口统计分析:Window Operation(设置窗口大小WindowInterval和滑动大小SlideInterval),按照Streaming 流式应用接收数据的时间进行窗口设计的,其实是不符合实际应用场景的。
例如,在物联网数据平台中,每个设备产生的数据,其中包含数据产生的时间,然而数据需要经过一系列采集传输才能被流式计算框架处理:SparkStreaming,此过程需要时间的,再按照处理时间来统计业务的时候,准确性降低,存在不合理性。
在结构化流Structured Streaming中窗口数据统计时间是基于数据本身事件时间EventTime字段统计,更加合理性,官方文档:
window-operations-on-event-time
1. 时间概念
在Streaming流式数据处理中,按照时间处理数据,其中时间有三种概念:
- 1)、事件时间EventTime,表示数据本身产生的时间,该字段在数据本