问题标签 [esper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
group-by - Esper:使用 group-by 子句时事件不会传递给订阅者
我使用 Nesper (4.1.2/4.5.0) 并且我有一个问题:使用 group-by 子句时事件不会传递给订阅者。
EPL查询:
select Operation, count(*) as OperationCount from OperationEvent.win:time(10 sec) group by Operation
每 5 秒输出一次
订户
当我删除 group by 子句时,一切正常。
怎么了?
java - CEP:实时事件或数据馈送的来源?
我正在寻找可以在我的 java 应用程序中使用的免费事件源。我正在寻找类似于YahooFinance的东西,其中可以查询一堆股票信息并将结果检索为 csv。
理想情况下,带有一些查询字符串的 API 或 URL 将是完美的。
http - Esper CEP 实施中的 httpadapter
我需要使用 httpadapter 从 esper 引擎向网页发送数据。我按照示例中提到的步骤进行操作。不知何故,它没有工作。我需要使用普通的 java 对象发送。还让我知道如何为请求和响应配置 Web 服务器。
android - 在 Android 上使用 Esper 的 CEP?
是否有任何针对 Android 设备上的 CEP 的库,例如适用于 Android 的 Esper 版本?
esper - Esper 没有动态列表的事件
我试图找出一个基本场景来确定是否应该基于 Esper 的警报应用程序。
我有一组随时间动态变化的传感器。其中每一个都配置了一个超时,该超时定义了我应该多久收到一次传感器读数。我希望 Esper 在阅读未及时到达时通知我。
使用这种事件模式似乎可以工作,尽管一旦 Esper 启动,我就无法更改传感器集。
我怎么能做到这一点?我猜我需要将“每个 s=Sensor”部分更改为不同的东西,因为事件是不可变的。
java - Java 数学 DescriptiveStatistics 删除值
我是 Java 新手,一直在使用 Esper CEP 引擎。然而,这个问题与 Esper 无关,它更像是一个 Java 问题。
首先,我的课:-
基本上,Esper 会根据与此处无关的逻辑随时调用 enter(value) 和 leave(value)。它调用 getValue() 来获取计算结果。
因为我想计算百分位数,所以我需要所有可用的数字来处理它。为此,我将其存储在名为 numbers 的全局列表中,并在 getValue() 中将所有数字放入DescriptiveStatistics实例中,然后处理我需要的统计信息。
我的假设是,每次我将列表作为新的 DescriptiveStatistics 对象时,它都需要进行排序。有什么方法可以维护一个类似 DescriptiveStatistics 的对象作为我的全局对象?
我使用 ArrayList vs DescriptiveStatistics 作为我的全局对象的唯一原因是 DescriptiveStatistics 没有删除方法。即我不能按值删除对象。
实际上,在任何给定时间都有数百个此类实例在运行,并且每 1 到 10 秒都会调用每个实例的 getValue()。我目前没有任何性能问题,但正在寻找一些优化帮助以避免将来出现问题。
替代解释:-
我在这里做的是维护一个数字列表。Esper 会多次调用 enter() 和 leave() 方法来告诉我哪些数字应该保留在列表中。在我的情况下,这是基于时间的聚合。我告诉 esper 我想根据最后 1 分钟的数字进行计算。
现在,在此期间 getValue() 可能已被多次调用。每次调用它时,都会根据数字的当前内容返回计算结果。
getValue() 计算第 10、50 和 90 个百分位数。为了计算百分位数,DescriptiveStatistics 需要对数字进行排序。(100 个数字的第 10 个百分位将是排序后列表的第 10 个数字。)。
所以我正在寻找一种能够从 DescriptiveStatistics 实例中取出任意数字的方法。或者向其他一些库寻求推荐,这些库可以给我中位数和百分位数,同时能够在知道值的同时从列表中取出一个数字。
DescriptiveStatistics 有一个 removeMostRecentValue(),但这不是我想要做的。
esper - 生成没有窗口的去重事件流
我正在尝试生成一个重复数据删除事件流,而不指定任何超出用于重复数据删除的窗口策略。在我的查询上使用output first every
子句似乎具有预期的效果,但当这些查询直接插入到流中时却没有。
对于下面给出的示例,假设我试图在 4 小时内仅检测每辆车的第一个喇叭声。
然而——select * from HonkEventDeduplicated
每次鸣喇叭都会触发,即使同一辆车连续鸣喇叭两次。
java - 带有前端的 Java 简单分析/事件流处理
我的应用程序对其内部流程进行了大量测量。例如,我为某些方法计时,我为外部 web 服务调用计时,我也有具有变化值的变量,以及具有“状态”(例如 PAUSED、WAITING 等)的进程。
该应用程序使用 100 到 200 个线程,并且每一位数据都将与特定线程相关联。
我正在寻找一些软件,我可以将所有这些信息导入它,以生成有用的指标和数据图表(理想情况下是实时或接近实时),让我设置阈值以触发警告,让我过滤按线程或线程组等的数据
该应用程序正在执行时间紧迫的任务,因此软件/api 需要非常快并且永不阻塞。
该应用程序是用 java 编写的,理想情况下,软件/api 也应该是用 java 编写的。我想我正在寻找的是所谓的事件流处理,但我真的不确定用什么语言来描述它。
到目前为止,我发现的只有 Esper 和 ERMA。有人可以给我推荐吗?我是唯一一个在这个项目上工作的人,所以我希望有一些很容易设置和使用的东西,并且有一个可行的前端。
java - 规则引擎或事件处理
我有一个客户管理系统,企业使用它来存储客户数据和其他一些信息。我希望我的系统在以下几种情况下向用户(企业主)发送电子邮件:
如果用户(企业主)在注册一周后没有将客户输入系统 - 向他发送一封电子邮件,提醒他添加客户。将此作为每周/每月提醒。
如果用户达到一个里程碑(例如系统中有 100 个客户),则向他发送一封祝贺电子邮件,但如果他再次达到相同的里程碑(例如通过删除和添加),则不要这样做。
编辑 - 3. 在假期前一周发送一封“假期快乐”电子邮件(给出这个例子主要是因为它是最简单的例子,它说明了对事件属性的依赖,而不是用户)。
我需要一个允许轻松添加基于先前/未来事件(未来事件具有已知日期)和用户属性的规则的系统。我读了一些关于规则引擎和事件处理的内容,但仍然不确定我的问题属于哪一类。
很高兴听到有关我可以使用的规则\事件处理模块的具体建议。我在考虑Drools或Esper,但两者看起来都非常复杂,我想在花时间将它们添加到我的系统之前确保它是合适的。
如果重要的话,我正在使用 Java 和 Hibernate。