在 WSO2 流处理器中,检测异常情况教程会引发异常



我正在尝试复制WSO2流处理器文档中给出的"检测异常"教程。

@App:name('SugarSyrupOutlierPredictionApp')
@source(type='http', receiver.url='http://localhost:5007/SugarSyrupEP', @map(type = 'json'))
define stream SugarSyrupDataStream (viscosity double, temperature double, density double);
@sink(type='log', prefix='Outlier detected in sugar syrup supply:')
define stream OutlierStream (viscosity double, temperature double, density double, outlier bool);
from SugarSyrupDataStream#timeseries:outlier(5, viscosity, temperature, density)
select *
insert into OutlierStream;

我在调用异常值函数的行中遇到的错误是这样的。

Caused by: org.wso2.siddhi.core.exception.SiddhiAppCreationException: Outlier Function is available only for simple linear regression at org.wso2.extension.siddhi.execution.timeseries.LinearRegressionOutlierStreamProcessor.init(LinearRegressionOutlierStreamProcessor.java:221)

我在这里错过了什么还是应该使用其他功能?

似乎扩展只接受 3 个参数。请参考 siddhi-execution-timeseries 文档#outlier。

您需要更新教程示例,以将范围 Y 和 X 作为异常值扩展的参数。这是因为扩展仅支持简单的线性回归。

@App:name('SugarSyrupOutlierPredictionApp')
@source(type='http', receiver.url='http://localhost:5007/SugarSyrupEP', @map(type = 'json'))
define stream SugarSyrupDataStream (viscosity double, temperature double, density double);
@sink(type='log', prefix='Outlier detected in sugar syrup supply:')
define stream OutlierStream (viscosity double, temperature double, outlier bool);
from SugarSyrupDataStream#timeseries:outlier(5, viscosity, temperature)
select viscosity, temperature, outlier
insert into OutlierStream;

最新更新