我如何使用wso2 siddhiQL缓存数据?

时间:2016-12-18 13:48:15

标签: wso2 siddhi

我的问题是这样的,我定义了一个数据源访问每秒实时数据(有),我将每小时这批数据进行平均计算,然后每小时得到这组数据平均累计和,最后把一个小时的累计值,到另一个数据源。如平均值是10 1小时,我将给10个数据源,第二个小时平均为20,那么我将加1小时平均10输出30,等等,到每天24小时结束,从第一个小时开始计算第二天。问题现在我该如何,缓存我最后一次计算累计值,如何解决类似的问题? 例如:enter image description here

就像上面的图片一样,在avg数据的列中我是通过instream_#window.externalTimeBatch(datetime,1小时)可以得到的,在列的后面是每小时输出的结果,我想。 像这样:enter image description here

每个计算结果都是输出

1 个答案:

答案 0 :(得分:0)

您可以使用事件表来缓存关系数据库中的数据,如postgres / mysql / oracle。

从数据库中定义表格:

@From(eventtable='rdbms', datasource.name='db_event', table.name='_tag_time_value')
define table tEvent (tag string, datetime long , value double);

如果流时间到达,则可以在事件表中插入覆盖0.0