首页 > 解决方案 > Esper 数据流中的“Where 子句”错误

问题描述

我试图用 Esper Dataflows 做一些测试,所以我正在使用 Esper Dataflows 提供的 Select 运算符编写一些模式。但我没有让它工作。我正在尝试做一个代码:

    public class BenchmarkEvent {
    long ReceivedTimestamp;
    long ProcessedTimestamp;

    String atr1;
    String atr2;
    String atr3;

    String getAtr1() {
        return atr1;
    }

}

然后,我要编译的句子:

 "Select(demostream) -> outdemostream {"
                + "     select: (select * from demostream"
                + "              where demostream.atr1 = \"Attribute\") }" +

最后,我得到的错误:

Failed to obtain operator 'Select': Error validating expression: Failed to validate filter expression 'demostream.getAtr1="Attribute"': Failed to resolve property 'demostream.getAtr1' to a stream or nested property in a stream

有办法让它工作吗?提前致谢

最好的问候,伊万

标签: javadataflowcomplex-event-processingesper

解决方案


试试这个。事件类型名称通常可用于为属性名称添加前缀,但编译器似乎不允许它用于数据流运算符。首先不需要使用前缀。

select * from demostream where atr1 = \"Attribute\"

推荐阅读