时间间隔事件

Time interval events

我正在使用 externalTime / externalTimeBatch 来计算在特定时间间隔内发生的事件的平均值,如下所示

from sensorStream#window.externalTimeBatch(meta_timestamp, 60 sec, meta_timestamp, 60 sec)  [sensorValue > 100]

select meta_timestamp, avg(sensorValue) as sensorValue

insert into filteredStream

我遇到的问题是,总是从一开始就计算所有事件的平均值,而不是在时间间隔上重置。

最好的使用方法是什么。

谢谢。

下面的查询似乎使用滚动时间间隔进行了适当的平均。一旦我移动我的时间持有人属性 "meta_timestamp" 以跨越我的时间 window 它就正常工作了。

from sensorStream#window.externalTimeBatch(meta_timestamp, 1 min, 0, 1 min)  [sensorValue > 100]
select meta_timestamp, meta_sensorName, correlation_longitude, correlation_latitude, avg(sensorValue) as sensorValue
insert current events into filteredStream

示例 POST 已发送消息进行测试

{ 
"event":
{ 
    "metaData":
    { 
        "timestamp":1514801340000,
        "isPowerSaverEnabled": false, 
        "sensorId": 701, 
        "sensorName": "temperature"
    }, 
    "correlationData":
    { 
        "longitude": 4.504343, 
        "latitude": 20.44345 

    }, 
    "payloadData":
    { 
        "humidity": 2.3,
        "sensorValue": 150
    }

}

}

感谢收听!!