flink如何计算设备离网
这个用session window应该可以解决。通过设备ID作key用keyby把同一个设备的数据放到一起,然后用session window,比如设置session超时时间15分钟,那设备如果如果超过15分钟没有汇报,则这15分钟前和后的数据会被分在两个window里面,对于单个window中的数据可以自己实现个AggregateFunction来计算,求得这个window的最大时间戳和最小时间戳(可以返回一个Tuple),两个连续的session window之前的时间差,也就是后一个的最小时间戳减去前一个的最大时间戳,就可以作为设备的离网时间了。不知道你的需求是不是这样。
赞1
踩0