【问题标题】:WSO2 CEP Siddhi window and table join are not working with Apache StormWSO2 CEP Siddhi 窗口和表连接不适用于 Apache Storm
【发布时间】:2016-05-11 11:31:45
【问题描述】:

我使用 WSO2 CEP v4.1.0 创建了简单的执行计划,支持风暴。但是当我在 Siddhi 中使用窗口设施时,它会给出一些例外。并且它也不可能使用风暴将表与流连接起来。我该如何解决这个问题?有没有其他选择。

执行计划

@Plan:name('ExecutionPlan')

@Import('InputStream:1.0.0')
define stream InputStream (id string, param1 int, param2 double, param3 string, param4 string, param5 string, param6 string, param7 string);

@Export('outputStream:1.0.0')
define stream OutputStream (id string, param3 string);

@From(eventtable = 'rdbms' , datasource.name = 'MYSQL' , table.name = 'cep') 
define table cepTable (id string, param1 int, param2 double, param3 string, param4 string, param5 string, param6 string, param7 string);

@name('query1') 
@dist(parallel='8', execGroup='Filtering')
from InputStream#window.time(1 sec)
select id as id, param3 as param3  
insert into OutputStream;

CEP 给出的错误

异常:指定的分布式查询无效,转换时出错 到 XML 风暴查询计划。执行计划:ExecutionPlan 租户:-1234。 部署查询时出错:@name('query1') @dist(parallel='8', execGroup='Filtering') from InputStream#window.time(1 sec) select id 作为 id,param3 as param3 插入到 OutputStream 并行必须是 1 用于窗口、连接和模式查询。

【问题讨论】:

    标签: wso2 apache-storm distributed wso2cep siddhi


    【解决方案1】:

    当查询包含窗口、连接或模式时,查询的并行度不能大于 1。这是因为当状态分布在多个螺栓上时,无法正确处理此类查询。

    但是,如果您使用partitions,则窗口和模式查询的并行度可以大于 1,因为一旦分区,每个分区就会成为一个独立的处理单元,可以在不同的螺栓上独立执行。请参阅this sample 以更好地了解此类分区查询。

    【讨论】:

    • 谢谢.. 但是使用流的事件表连接仍然无法正常工作,即使有分区..
    • 感谢您提供此信息。我可以在 siddhi 的 android 版本中使用分布式处理吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-23
    相关资源
    最近更新 更多