EInnovator - Spring XD Training
EInnovator - Spring XD Training

Spring XD

Course Overview

This comprehensive 3 day course will provide students with the skills needed to leverage Spring XD for data ingestion in a Big Data environment. The hands on training covers installation and administration of Spring XD; usage of the Spring XD Shell; creating, configuring, deploying, and scaling streams and jobs; as well as the development of custom modules including sinks, sources and jobs. Students will learn how to configure the product for various deployment scenarios, including high availability, distributed mode, and deployment to YARN.

Course Format and Modes of Delivery

  • Three days of instructor-led training
  • 50% lecture, 50% hands-on lab
  • Corporate On-Site
  • Public

Target Audience

  • This training is designed for developers and architects interested in using Spring XD as a Data Ingestion Tool. It would also be of interest to those wanting to migrate existing Spring Integration or Spring Batch projects to Spring XD, in order to leverage it’s advanced features and functionality.


  • Internet access
  • A local install of JDK 7 or later
  • A local install of Apache Maven
  • Basic Java development skills, including ability to run Apache Maven commands
  • Some familiarity with various data storage technologies
  • Any one of the following:
    1. A running instance of the Pivotal HD single-node VM
    2. A running instance of Apache Hadoop single-node cluster
    3. Ability to access a virtual lab environment
  • Familiarity with running basic OS commands from a shell/command-prompt


Course Objectives

At the end of the training, you should gain an understanding of Spring XD and associated technologies for Big Data processing and be able to:

  • Install Spring XD
  • Understand Spring XD architecture
  • Create and leverage Spring XD Streams
  • Create and leverage Spring XD Jobs
  • Customize Spring XD modules
  • Configure Spring XD for high-availability
  • Use management and monitoring features of Spring XD

Course Modules

  • What is Data Ingestion?
  • What is Spring XD?
  • When to use Spring XD?
  • Single-Node Installation
  • Creating a Simple Stream
  • Creating a Simple Job
  • Overview
  • Streams, Modules, Channels
  • Stream Deployment
  • Overview
  • Sources
  • Processors
  • Sinks
  • Examples
  • Introduction to Spring Integration in the context of Spring XD
  • Interaction between Spring XD and Spring Integration
  • Deploying Spring Integration applications to Spring XD
  • Hadoop (HDFS)
  • Transform/Script processors
  • TCP/UDP sources
  • Twitter source
  • Overview
  • Setting up a simple job
  • Launching a job
  • Connecting a job to a stream
  • Admin UI
  • Introduction to Spring Batch in the context of Spring XD
  • Interaction between Spring XD and Spring Batch
  • Deploying Spring Batch applications to Spring XD
  • Using the filepollhdfs job
  • XD Distributed Runtime (DIRT) Installation (Linux, YARN)
  • Customizing the Configuration
  • High Availability (HA) and Fault Tolerance (FT) in the Spring XD context
  • ZooKeeper
  • XD-Admin
  • XD-Containers
  • Messaging middleware
  • Data stores
  • Admin Console
  • How Spring XD leverages Spring Boot’s JMX and HTTP support
  • Monitoring Streams
  • Monitoring Jobs