时间序列聚合引擎按分钟聚合,windowSize=60000,step=60000。
实际场景中,由于延迟的存在,会导致出现11:20:00.100这样的临界时间点,经过一定延迟后到达,实际的这条数据仍然属于11那个窗口:20:00。但是无论我配置为左闭右开还是左开右闭,都无法满足这个要求。
createTimeSeriesEngine(name="engine1", windowSize=60000, step=60000, metrics=<[sum(volume)]>, dummyTable=trades, outputTable=output1, useSystemTime=true, keyColumn="sym", garbageSize=50, useWindowStartTime=false)
我该如何处理此类关键数据以确保其包含在前一分钟的窗口中?
时序聚合引擎支持配置acceptedDelay参数,为接受的数据设置一定的延迟,例如:
{
"acceptedDelay": 100,
"closed": "right"
}
通过此参数设置,时间戳为 11:20:00.100 的数据将包含在窗口(11:19:00, 11:20:00]中进行计算。
你需要对管道的延迟进行一些测试,比如大概需要多少毫秒,并记录数据的最大延迟时间。然后,在延迟和准确性之间取得平衡。