Introduction
This sample demonstrates how to set up an execution plan with a Siddhi query that monitors Twitter feeds of organizations using Siddhi partitions. It uses the following Siddhi query to check whether the word count of the Twitter feeds of each company within the last minute is greater than 10, and publishes the details of the companies with a high frequency of Twitter feeds as the output. This query has one incoming event stream of the word counts of various company names taken from Twitter pages.
partition with (company of TwitterFeed) begin @info(name = 'query1') from TwitterFeed#window.time(1 min) select company as company, sum(wordCount) as words having words > 10 insert into HighFrequentTweets; end ;
Prerequisites
Set up the prerequisites required for all samples.
Building the sample
Start the WSO2 CEP server with the sample configuration numbered 0107. For instructions, see Starting sample CEP configurations. This sample configuration creates the following.
Two streams with the IDs
HighFrequentTweets:1.0.0
andtwitterFeed:1.0.0
An event receiver named
WSO2EventReceiver
An event publisher named
HighFrequentTweetsLogger
to log the received messagesAn execution plan named
HighFrequentTweetsExecutionPlan
Executing the sample
<CEP_HOME>/samples/producers/wso2-event/
directory, and execute the following Ant command using another tab in the CLI:
ant -DstreamId=twitterFeed:1.0.0 -Dsn=0107
The other optional parameters that can be used in the above command are defined in the <CEP_HOME>/samples/producers/wso2-event/build.xml
file.
You view the CEP server receiving the output events in the logs of it in the CLI as shown below.