首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Esper的可选值

Esper的可选值
EN

Stack Overflow用户
提问于 2018-08-23 20:13:44
回答 1查看 61关注 0票数 1

Esper中是否支持具有可选值的属性?

我正在使用Esper和Scala构建一个POC,并且让EPL查询处理非可选的值。我有一个用来测试的简单对象:

代码语言:javascript
复制
case class EsperEvent(@BeanProperty id: Int, @BeanProperty eventtype: Int)

并且可以通过以下查询获得我预期的结果:

代码语言:javascript
复制
select * from EsperEvent
 match_recognize (
   measures A as event1, B as event2
   pattern (A B)
   define
     A as A.eventtype = 2,
     B as B.eventtype = 3
 )

但是,当我将模型更改为以下内容时,似乎无法从Esper获得任何输出:

代码语言:javascript
复制
case class EsperEvent(@BeanProperty id: Int, @BeanProperty eventtype: Option[Int])

我已经尝试了上面的查询,也使用了动态属性,如下所示:

代码语言:javascript
复制
select * from EsperEvent
  match_recognize (
   measures A as event1, B as event2
   pattern (A B)
   define
     A as A.eventtype? = 2,
     B as B.eventtype? = 3
  )
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-23 20:27:16

如果我没记错的话,这个属性的类型应该是"java.util.Optional“。您可以使用"A.eventtype.get()“,它返回一个对象,并且需要进行强制转换,例如"cast(A.eventtype.get(),int)”。如果事件类型只是将可为空的值装箱为"Integer“,则会更简单。英特尔遵循SQL92标准,他们肯定没有“可选”。

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

https://stackoverflow.com/questions/51985588

复制
相关文章

相似问题

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