时间聚合引擎如何处理迟到的数据?

问题描述 投票:0回答:1

时间序列聚合引擎按分钟聚合,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)

我该如何处理此类关键数据以确保其包含在前一分钟的窗口中?

streaming dolphindb
1个回答
0
投票

时序聚合引擎支持配置acceptedDelay参数,为接受的数据设置一定的延迟,例如:

{
  "acceptedDelay": 100,
  "closed": "right"
}

通过此参数设置,时间戳为 11:20:00.100 的数据将包含在窗口(11:19:00, 11:20:00]中进行计算。

你需要对管道的延迟进行一些测试,比如大概需要多少毫秒,并记录数据的最大延迟时间。然后,在延迟和准确性之间取得平衡。

© www.soinside.com 2019 - 2024. All rights reserved.