Search code examples
mavenwso2siddhiwso2-streaming-integrator

No Extension Exists for pmml:predict WSO2 Stream Processor


I am following the WSO2 Stream Processor Studio tutorials to practice Siddhi. So far I've managed to troubleshoot all the bugs incorporated in the tutorials; however, I'm stuck on the 12th tutorial, "Making Real-Time Predictions."

The Siddhi application is

@App:name("SugarSyrupPredictionApp")
@app:description("Making real-time predictions tutorial 12")

@source(type='http', receiver.url='http://localhost:5006/SugarSyrupEP', @map(type = 'json'))
define stream SugarSyrupDataStream (temperature double, density double);

@sink(type='log', prefix='Predicted next sugar syrup shipment:')
define stream PredictedSugarSyrupDataStream (nextTemperature double, nextDensity double, decision bool);

from SugarSyrupDataStream#pmml:predict('/data/wso2sp-4.0.0-beta3/wso2/lib/features/siddhi-gpl-execution-pmml-4.0.0/component/src/test/resources', temperature, density)
select * 
insert into PredictedSugarSyrupDataStream;

At the line starting with from SugarSyrupDataStream, I get an error message "No Extension Exists for pmml:predict"

The WSO2 Siddhi Gpl Execution Pmml document says to copy the component jar file to the <STREAM_PROCESSOR_HOME>/lib direcotry. The problem is, none of the tar or zip files has a jar file. They all contain pom.xml files and none of the documentation I've found has told me where to deploy the extension.

I tried deploying it in the library directory referenced above and in the features and plug-ins directories as well. I stop and restart the Stream Processor Studio service (editor.sh) each time. Always I get the same error message.

I have installed the WSO2 product on Ubuntu 16.04.3 LTS and access the stream processor studio through a Firefox browser.


Solution

  • Since siddhi-gpl-excecution-pmml is released under General Public License, it's not shipped with the WSO2 Stream Processor which is released under Apache 2 license.

    Therefore you need to manually add such jars to WSO2 Stream Processor.

    However it's not hosted in the git. You can find the jar for the siddhi-gpl-execution-pmml extension in maven repository.

    Also after you copy that jar to /lib directory, please restart the server. The extension will get deployed. No need to add it to the features or pluggins.

    Best Regards!