Sample 0112 - Analyzing Twitter Feeds Using Partitions
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 custom event stream of the word counts of various company names taken from Twitter pages. Custom events are events with custom mappings that does not adhere to the default event formats. For more information on event formats, see Event Formats.Â
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 0112. 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 messagesÂAn 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=0112
Â
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.