I have attached the execution plan and the input stream. The regex used to read from file adaptor,
*state:(\S+)\.* Thank you Regards *Supun Rasitha Muthutantrige* Software Engineer | Intern WSO2 Inc: http://wso2.com lean.enterprise.middleware Mobile: 0758374608
<?xml version="1.0" encoding="UTF-8"?> <executionPlan name="ExePlan_MarkovModel" statistics="enable" trace="enable" xmlns="http://wso2.org/carbon/eventprocessor"> <description>Execution plan for building the markov mocdel</description> <siddhiConfiguration> <property name="siddhi.persistence.snapshot.time.interval.minutes">0</property> <property name="siddhi.enable.distributed.processing">false</property> </siddhiConfiguration> <importedStreams> <stream as="inStream" name="MarkovModel_inStream" version="1.0.0"/> </importedStreams> <queryExpressions><![CDATA[ define table MarkovModel (State_Transition string, Initial_state string, countP double) from ('datasource.name'='FD_ToolBox_DB', 'database.name'='FDtoolbox', 'table.name'='MarkovModel'); define table MarkovModelAll (state string, countA double) from ('datasource.name'='FD_ToolBox_DB', 'database.name'='FDtoolbox', 'table.name'='MarkovModelAllCount'); from every a = inStream -> b = inStream select a.Event as initialState, b.Event as transState, concat(a.Event,b.Event) as StateTransition insert into forCalculation; from forCalculation[((StateTransition!=MarkovModel.State_Transition) in MarkovModel)] select StateTransition, initialState, 1.0 as stateTrans_count insert into insertIntoModel; from forCalculation[((StateTransition==MarkovModel.State_Transition) in MarkovModel)]#window.length(1) join MarkovModel on forCalculation.StateTransition == MarkovModel.State_Transition select StateTransition, initialState, (MarkovModel.countP+1) as updatedState_count insert into updateModel; //from forCalculation#window.length(1) join MarkovModel //on forCalculation.initialState == MarkovModel.Initial_state from forCalculation join MarkovModel on forCalculation.initialState == MarkovModel.Initial_state select initialState as Event, sum(MarkovModel.countP) as totalCount group by forCalculation.initialState insert into ckStream; //from forCalculation join MarkovModel //on forCalculation.initialState == MarkovModel.Initial_state //select initialState as Event, sum(MarkovModel.countP) as totalCount //group by MarkovModel.Initial_state //insert into ckStream; //from inStream //select Event, count(Event) as totalCount //group by Event //insert into ckStream; from updateModel join MarkovModelAll on updateModel.initialState == MarkovModelAll.state select StateTransition, initialState, (updatedState_count/MarkovModelAll.countA) as prob insert into probStream; //from ckStream#window.length(1) join MarkovModel //on ckStream.Event == MarkovModel.Initial_state //select MarkovModel.State_Transition as StateTransition, MarkovModel.Initial_state as initialState, (MarkovModel.countP/convert(ckStream.totalCount,double)) as prob //insert into probCheck; ]]></queryExpressions> <exportedStreams> <stream name="insertIntoModel" valueOf="insertIntoModel" version="1.0.0"/> <stream name="updateModel" valueOf="updateModel" version="1.0.0"/> <stream name="ckStream" valueOf="ckStream" version="1.0.0"/> <stream name="probStream" valueOf="probStream" version="1.0.0"/> </exportedStreams> </executionPlan>
state:HTS. state:HFS. state:HTM. state:HTS. state:HTL. state:HFS. state:MTS. state:HTS. state:HTL. state:MFM. state:HTS. state:HFS.
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
