Stream Processing Design Patterns with Spark
1h 9mAdvanced2020-10-14
Authors

Kumaran Ponnambalam
Working with data for 20+ years
Course details
Stream processing is becoming more popular as more and more data is generated by websites, devices, and communications. Apache Spark is a leading platform that provides scalable and fast stream processing, but still requires smart design to achieve maximum efficiency. This course helps developers use best practices and validated design patterns to implement stream processing in Apache Spark. Instructor Kumaran Ponnambalam shows how to set up your environment and then walks through four design patterns and real-world use cases: streaming analytics, alerts and thresholds, leaderboards, and real-time predictions. In chapter six, he introduces a start-to-finish project that shows how to go from design to executed job using Spark, Apache Kafka, MariaDB, and Redis. By the end of the course, you'll understand all the capabilities of this powerful platform and be able to incorporate it in your own data engineering solutions.
Learning objectives
Streaming opportunities and challenges
Setting up the environment
Steaming analytics with Spark
Monitoring alerts and thresholds with Spark
Creating leaderboards with Spark
Generating real-time predictions with Spark
Hands-on Spark streaming project
Learning objectives
Streaming opportunities and challenges
Setting up the environment
Steaming analytics with Spark
Monitoring alerts and thresholds with Spark
Creating leaderboards with Spark
Generating real-time predictions with Spark
Hands-on Spark streaming project
Skills covered
Apache SparkApacheData EngineeringData ScienceDeep Dive (X:Y)
Concepts
Introduction
- Streaming with Spark
- Prerequisites
Stream Processing with Spark
- What is stream processing
- Streaming opportunities and challenges
- Streaming with Apache Spark
- Spark Structured Streaming APIs and SQL
- Setting up the exercise files
- Setting up Kafka
- Setting up MariaDB and Redis
Streaming Analytics
- Streaming analytics - Pattern
- Streaming analytics - Use case design
- Streaming analytics - Helper classes
- Streaming analytics - Pipeline implementation
- Streaming analytics - Results review
Alerts and Thresholds
- Alerts and thresholds - Pattern
- Alerts and thresholds - Use case design
- Alerts and thresholds - Helper classes
- Alerts and thresholds - Pipeline implementation
- Alerts and thresholds - Review
Leaderboards
- Leaderboards - Pattern
- Leaderboards - Use case design
- Leaderboards - Helper classes
- Leaderboards - Pipeline implementation
- Leaderboards - Review
Real-Time Predictions
- Real-time predictions - Pattern
- Real-time predictions - Use case design
- Real-time predictions - Helper classes
- Real-time predictions - Pipeline implementation
- Real-time predictions - Review
Use Cases
- Use case definition
- Design of the project
- Code walk-through
- Execute and analyze
Conclusion
- Next steps