21 hours (usually 3 days including breaks)
- Programming and scripting experience
- Software Engineers
Scala is a condensed version of Java for large scale functional and object-oriented programming. Apache Spark Streaming is an extended component of the Spark API for processing big data sets as real-time streams. Together, Spark Streaming and Scala enable the streaming of big data.
This instructor-led, live training (online or onsite) is aimed at software engineers who wish to stream big data with Spark Streaming and Scala.
By the end of this training, participants will be able to:
- Create Spark applications with the Scala programming language.
- Use Spark Streaming to process continuous streams of data.
- Process streams of real-time data with Spark Streaming.
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Scala Programming in Depth Review
- Syntax and structure
- Flow control and functions
- Resilient Distributed Datasets (RDD)
- Spark script to graph to cluster
Overview of Spark Streaming
- Streaming architecture
- Intervals in streaming
- Fault tolerance
Preparing the Development Environment
- Installing and configuring Apache Spark
- Installing and configuring the Scala IDE
- Installing and configuring JDK
Spark Streaming Beginner to Advanced
- Working with key/value RDD’s
- Filtering RDD’s
- Improving Spark scripts with regular expressions
- Sharing data on a cluster
- Working with network data sets
- Implementing BFS algorithms
- Creating Spark driver scripts
- Tracking in real time with scripts
- Writing continuous applications
- Streaming linear regression
- Using Spark Machine Learning Library
Spark and Clusters
- Bundling dependencies and Spark scripts using the SBT tool
- Using EMR for illustrating clusters
- Optimizing by partitioning RDD’s
- Using Spark logs
Integration in Spark Streaming
- Integrating Apache Kafka and working with Kafka topics
- Integrating Apache Fume and working with pull-based/push-based Flume configurations
- Writing a custom receiver class
- Integrating Cassandra and exposing data as real-time services
- Packaging an application and running it with Spark-Submit
- Troubleshooting, tuning, and debugging Spark Jobs and clusters
Summary and Conclusion