问题标签 [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.
java - Esper 基于客户的查询非常适合多个客户
据我了解,Esper 是使用查询构建的,以区分传入事件中的相关内容和不相关内容。
我正在考虑使用 Esper,但我不确定它是否适合我的场景。
我的场景:
我需要为大量客户跟踪一些事情。我每秒会收到大量事件,每个事件都需要确定某个客户的进度速率。
示例一:假设我卖火柴,因此我卖得很快。所以我一直有很多交易,我想跟踪每个客户购买了多少匹配项。当一位顾客购买了 10 支火柴时,我希望他得到一个免费的火柴盒。所以对于这个简单的例子,我会说,不要使用 Esper。
但是随着这种情况的发展,问题可能是客户应该为他购买的第 10 场比赛获得一个免费盒子,之后每第 3 场他将获得 2 场比赛的奖金。
购买 50 根火柴后,他会得到一个 XL 大小的火柴盒,里面装满了火柴。
依此类推,多个规则相互叠加。
我对 Esper 如何解决它的猜测:
所以,我认为这应该在 Esper 中完成的方式是,在运行时为每个客户创建一个查询。但由于我有 2 000 000 名客户,我售出的每场比赛的查询量都会以极快的速度增长。(也许我误解了埃斯珀的工作原理?)
现在我只被问题困住了......
随着查询的增加,Esper 的性能下降了多少?是否可以让 Esper 在不创建客户特定查询的情况下在客户级别进行计算?
我还听说 Esper 有时缺乏线程和稳定性,有人对此有任何问题吗?
总的来说,我对 Esper 真的很陌生,可能根本不是我想要的。或者,也许我只是误解了 Esper 的用法。:)
感谢您的阅读!
java - 埃斯珀何时知道时间窗口已结束
在 Java Esper 中,我想知道时间窗口上的计时器何时结束。换句话说,例如,在 EPL 语句中(取自 esper 主页):
该语句将用于计算 30 秒内传入事件的平均价格,我想知道是否可以找出语句何时结束。如果我可以说运行此语句并且每 30 秒输出一条语句,说明 30 秒摘要和整个 30 秒的输出,那就太好了。
我尝试使用 isStopped() 方法,但这似乎没有帮助,除非它有帮助并且我可能使用错误?
exponential - 使用 Esper 计算指数移动平均线
寻找一种使用 Esper (EPL) 语句计算 5 EMA5 和 EMA20 窗口上的指数移动平均线的方法。
我有一个 priceEvent 流(timeStamp、symbol 和 price)进来,我在 5 的滑动窗口上写了一个简单的移动平均 SMA。但是对于 Esper 来说相当新,正在寻找一种方法来计算滑动窗口上的指数移动平均线 (EMA)。
http://www.iexplain.org/ema-how-to-calculate/
如果有人可以帮助我编写抛物线SAR函数,那也会有很大帮助
esper - 如果源发送具有 2 个或更多不同模式的 xml 事件文件,如何在 Esper 中处理?
我在 java 项目的类路径中有两个模式。现在进入 esper 引擎的 xml 文件(作为事件)不知道要理解哪个模式。如何解决这个问题?请高手指点!
java-ee-6 - jboss 上的 Esper 部署为 7.X,未找到事件类型或类名
我开发了一个 java ee 项目,作为 7 服务器部署在 jboss 上。
情景是
我检查了项目的参考和部署设置。p1.jar存在于 ./lib 目录中。
所有课程都是公开的和可访问的。我还需要检查什么?
esper - 计算布尔结果以显示在 Esper 中一对事件是否匹配
我正在尝试创建一个 EPL 语句,以显示订单是否成功。
该声明应根据购买的 ID 将购买与付款相匹配。结果应包含购买的 ID 和一个布尔值,该值指示购买是否与付款匹配。
当匹配成功时,我得到了下面的语句来返回 true。但是,当购买退出 30 秒时间窗口而没有与付款匹配时,我也想返回 false。
如果事件的顺序无关紧要,那也很好。例如,如果在购买之前付款。
wso2 - 如果在不使用 ESPERHA 的情况下发生故障转移,我应该如何继续使用 ESPER(使用 WSO2)实现持久性?
我正在使用带有 esper 的 WSO2 CEP-Server 作为后端运行时。WSO2 使用 cassandra 为 siddhi(后端运行时)提供了持久性。我需要使用 ESPER-CEP 引擎实现持久性。任何想法将不胜感激。
wso2 - 如何在不选择或使用“输入映射类型”的情况下将 Map-input-stream 作为事件直接传输到 WSO2-CEP?
我将 WSO2-CEP 与 Esper(作为运行时)一起使用,Esper 将 Map 上的查询处理为元组上的 siddhi。“输入映射类型”基本上声明了例如XML 映射所需的输入转换类型:XML到 Map 或 Tuple。我有通过将 xml 事件转换为映射来运行示例,但是如果我将“映射作为输入事件”并且我只想将它们作为映射处理怎么办?任何帮助,将不胜感激!!
esper - ESPER 使用带有 POJO 的 csv 适配器
我需要一些 esper 的帮助,使用 csv 文件作为 csv 适配器的输入。我需要使用 POJO 类和超过 1 个 csv 文件。
如果有一个包含上述内容的示例,我将不胜感激。
谢谢
java - 您应该使用 equals 方法还是比较 Esper 中 EventType 的事件类型 ID?
我正在尝试检查 Esper 的两个EventType
对象是否相等。相等是指它们是具有相同属性的相同事件类型。
我想知道最好的方法是什么。使用 equals 方法是否安全,如下所示:
作为EventType
一个接口,我不能确定所有的实现类都会覆盖 equals 方法。因此,我认为上面的代码不是一个好主意。
我能想到的另一个选项是比较事件类型 ID,如下所示:
但是,我不确定这些 ID 是如何分配的。这会给我我正在寻找的东西,还是有更好的方法?