What does this AWS Solution do?

Many Amazon Web Services (AWS) customers use batch data reports to gain strategic insight into long-term business trends, and a growing number of customers also require streaming data to obtain actionable insights from their data in real time. AWS provides many of the building blocks required to build a secure, flexible, cost-effective data-processing architecture in the cloud. These include AWS managed services that help ingest, store, process, and analyze both real-time and batch data.

This AWS solution automatically deploys a highly available, cost-effective batch and real-time data analytics architecture on the AWS Cloud that leverages Apache Spark Streaming and Amazon Kinesis. The following section assumes basic knowledge of architecting on the AWS Cloud, streaming data, and data analysis.

AWS Solution overview

This solution automatically configures a batch and real-time data-processing architecture on AWS. The Real-Time Analytics with Spark Streaming solution is designed to support custom Apache Spark Streaming applications, and leverages Amazon EMR for processing vast amounts of data across dynamically scalable Amazon Elastic Compute Cloud (Amazon EC2) instances. The diagram below presents the Real-Time Analytics architecture you can deploy in minutes using the solution's implementation guide and accompanying AWS CloudFormation template.

real-time-analytics-with-spark-streaming-architecture
 Click to enlarge

Real-Time Analytics with Spark Streaming solution architecture

This solution deploys an Amazon Virtual Private Cloud (Amazon VPC) network with one public and one private subnet. The public subnet contains a NAT gateway and a bastion host. The private subnet hosts the Amazon EMR cluster.

Use your custom Spark Streaming application, or deploy the AWS-provided demo application to launch an example data-processing environment. The application is deployed on the Amazon EMR cluster, the Amazon EMR cluster.

Amazon Kinesis Data Streams collects data from data sources, sends the data through the NAT gateway to the Amazon EMR cluster, and uses an Amazon DynamoDB table for checkpointing. After the Spark Streaming application processes the data, it stores the data in an Amazon S3 bucket.

Real-Time Analytics with Spark Streaming

Version 1.0
Last updated: 02/2017
Author: AWS

Estimated deployment time: 15 min

Features

Real-Time Analytics with Spark Streaming reference implementation

The Real-Time Analytics with Spark Streaming solution is an AWS-provided reference implementation that automatically provisions and configures the AWS services necessary to start processing real-time and batch data in minutes.

Spark Streaming application

This solution is designed to use your own application written in Java or Scala, but it also includes a demo application that you can deploy for testing purposes.

Apache Zeppelin support

The solution leverages Apache Zeppelin, a web-based notebook for interactive data analytics, to enable customers to visualize both their real-time and batch data.
Product-Page_Standard-Icons_01_Product-Features_SqInk
Explore all AWS Solutions

Browse our portfolio of AWS-built solutions to common architectural problems.

Learn more 
Next-Steps-Icon_Find-a-Partner-B
Find a Partner

Find AWS certified consulting and technology partners to help you get started.

Learn more 
Product-Page_Standard-Icons_03_Start-Building_SqInk
Start building in the console

Sign-up and start exploring our services.

Get started