初学spark,使用spark structred stream进行计算统计,2小时窗口时长,10秒钟触发一次计算,kafka里发送几条测试数据,内存就报OOM了,按理说不应该啊,请问问题是出在哪儿?
我测试window长度(duration)100秒,也是20秒钟(slide duration)触发统计一次,kafka发送一条测试数据,然后得出下面的输出数据:
就是说这批数据触发了5次计算,duration/slide duration=5,按照这个逻辑,2小时=7200秒,10秒触发一次,则是计算720次,那内存溢出感觉就解释得通了,不知道我对这个窗口理解是不是有误。
我的理解是每隔20秒触发一次前100秒内的数据的一次统计分析,但是我测试输出的结果跟我预想的感觉不一样。