Powered by Spark Streaming & Siddhi
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
api Fix javadoc under Java 8 Jun 4, 2016
benchmark Rename streaming -> decision Oct 6, 2015
commons [RELEASE] Prepare for next development iteration May 3, 2016
docker Removed docker-entrypoint because Shell image is not well generated Aug 2, 2016
engine [DECISION-318] Change log path in log4j file (#186) Jul 8, 2016
shell [RELEASE] Prepare for next development iteration May 3, 2016
siddhi [RELEASE] Prepare for next development iteration May 3, 2016
.gitmodules old documentation removed, new doc available on https://stratio.atlas… Mar 14, 2016
CHANGELOG.md [QA-130] coveralls integration (#187) Jul 13, 2016
LICENSE added LICENSE file Oct 10, 2014
pom.xml [QA-130] coveralls integration (#187) Jul 13, 2016


Coverage Status


Decision CEP engine is a Complex Event Processing platform built on Spark Streaming.

It is the result of combining the power of Spark Streaming as a continuous computing framework and Siddhi CEP engine as complex event processing engine.

What is Complex Event Processing?

Complex event processing, or CEP, is event processing that combines data from multiple sources to infer events or patterns that suggest more complicated circumstances.

CEP as a technique helps discover complex events by analyzing and correlating other events

Decision Cep Engine components

Stream Query Language

1 Stream Definition Language (SDL)

  • Create, alter or drop a stream, add new queries or remove existing queries

2 Stream Manipulation Language (SML)

  • Insert events into a stream and list the existing streams in the engine.

3 Stream Action Language (SAL)

  • Listen to a stream (kafka), save the stream to Cassandra or mongoDB (auto-creation of tables), index the stream to ElasticSearch or Solr… here you should find useful operations ready to use.

  • Start & Stop each action on-demand

4 Built-in functions

  • Auditing all the requests in the decision engine (Cassandra or MongoDB)
  • Statistics (requests per operation, requests per stream…)
  • Failover system (recovering windows, streams and queries from Cassandra or MongoDB)

Decision Cep Engine: API

  • Java & Scala API
  • Simple programming model
  • Available as maven dependency

Decision Cep Engine: SHELL

  • Autocomplete & help
  • Tab-completion for stream names
  • Built on the API

Interesting facts about Decision Cep Engine

  • It was presented in Spark Summit 2014 (link)
  • Up to 10 million events per minute in a single node.
  • It is fully open source.


See the changelog for changes.