首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >每小时WSO2 CEP计数和时间戳

每小时WSO2 CEP计数和时间戳
EN

Stack Overflow用户
提问于 2015-05-08 22:23:16
回答 3查看 421关注 0票数 0

我们试图实现每小时事件计数的时间序列。我们希望在CEP中进行每小时的计数,并将输出存储在数据存储/nosql中。缺少的是我们想要存储的是给定一天每小时的计数。

为此,我们需要在每次timebatch窗口到期时从CEP输出当前时间戳。

有没有人能解释一下如何使用WSO2 CEP实现这一点??

谢谢RP

EN

回答 3

Stack Overflow用户

发布于 2015-05-10 10:26:58

我认为你应该使用BAM而不是CEP,因为你要做的看起来更像是一个map-reduce任务。

你看过它了吗?

票数 0
EN

Stack Overflow用户

发布于 2015-05-11 11:17:24

希望您使用的是WSO2 CEP3.1.0。目前RDBMSCEP4.0.0正在开发中,一旦RDBMS发布,就会有一个WSO2发布器(输出适配器),您可以在其中指定连接并直接发布输出流值。

您可以使用带有siddhi查询的执行计划来实现时间戳逻辑。要了解有关siddhi查询语言的更多信息,请参阅WSO2 Siddhi文档。enter link description here

下面是一个示例执行计划,其中包含一个siddhi查询,用于检查给定时间窗口(1分钟)内的房间温度值,并将平均温度和房间号写入输出流。如果您希望将这些内容存储在数据库中,则可以为输出流提供一个RDBMS发布器(输出适配器)。

代码语言:javascript
代码运行次数:0
运行
复制
             /* Enter a unique ExecutionPlan */
            @Plan:name('testPlan')

            /* Enter a unique description for ExecutionPlan */
            -- @Plan:description('ExecutionPlan')

            /* define streams and write query here ... */

            @Import('inStream:1.0.0')
            define stream inStream (temperature double, roomNumber int);

            @Export('outStream:1.0.0')
            define stream outStream (temperature double, roomNumber int);

            from inStream#window.time(1 min)
            select avg(temperature) as temperature,roomNumber
            group by roomNumber
            having temperature>= 70
            insert into outStream;
票数 0
EN

Stack Overflow用户

发布于 2015-05-12 14:59:36

您可以在select处使用time:currentTime()扩展,以从Siddhi 3.0/WSO2CEP4.0获取时间窗口的过期时间。有关示例,请查看this test case

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30126171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档