PacktLib: Storm Blueprints: Patterns for Distributed Real-time Computation

Storm Blueprints: Patterns for Distributed Real-time Computation


About the Authors

About the Reviewers


Distributed Word Count

Introducing elements of a Storm topology – streams, spouts, and bolts

Introducing the word count topology data flow

Implementing the word count topology

Introducing parallelism in Storm

Understanding stream groupings

Guaranteed processing


Configuring Storm Clusters

Introducing the anatomy of a Storm cluster

Introducing the Storm technology stack

Installing Storm on Linux

Submitting topologies to a Storm cluster

Automating the cluster configuration

A rapid introduction to Puppet


Trident Topologies and Sensor Data

Examining our use case

Introducing Trident topologies

Introducing Trident spouts

Introducing Trident operations – filters and functions

Introducing Trident aggregators – Combiners and Reducers

Introducing the Trident state

Executing the topology


Real-time Trend Analysis

Use case


Installing the required software

Introducing the sample application

Introducing the log analysis topology

The final topology

Running the log analysis topology


Real-time Graph Analysis

Use case


A brief introduction to graph databases

Software installation

Setting up Titan to use the Cassandra storage backend

Graph data model

Connecting to the Twitter stream

Twitter graph topology

Implementing GraphState

Implementing GraphFactory

Implementing GraphTupleProcessor

Putting it all together – the TwitterGraphTopology class

Querying the graph with Gremlin


Artificial Intelligence

Designing for our use case

Establishing the architecture

Implementing the architecture


Integrating Druid for Financial Analytics

Use case

Integrating a non-transactional system

The topology

Implementing the architecture

Executing the implementation

Examining the analytics


Natural Language Processing

Motivating a Lambda architecture

Examining our use case

Realizing a Lambda architecture

Designing the topology for our use case

Implementing the design

Examining the analytics

Batch processing / historical analysis



Deploying Storm on Hadoop for Advertising Analysis

Examining the use case

Establishing the architecture

Configuring the infrastructure

Deploying the analytics

Performing the analytics

Deploying the topology

Executing the topology


Storm in the Cloud

Introducing Amazon Elastic Compute Cloud (EC2)

Introducing Apache Whirr

Configuring a Storm cluster with Whirr

Introducing Whirr Storm

Introducing Vagrant

Creating Storm-provisioning scripts