Intermediate Tutorials
Welcome to the KSML intermediate tutorials! These tutorials are designed for users who have completed the beginner tutorials and are ready to explore more advanced KSML features and patterns.
These tutorials will help you build more sophisticated data processing applications with KSML, introducing stateful operations, joins, and other advanced concepts.
Available Tutorials
Branching: Conditional Message Routing
Master KSML's branching capabilities to route messages based on conditions:
- Understanding KSML branching and its relationship to Kafka Streams
- Simple content-based routing patterns
- Complex multi-condition business logic
- Advanced branching patterns and best practices
- Error handling with branches
Working with Aggregations
Learn how to use KSML's stateful operations to aggregate data:
- Counting events by key
- Calculating running averages
- Using custom aggregation functions
- Understanding state stores
Implementing Joins
This tutorial covers how to join data from multiple streams:
- Stream-to-stream joins
- Stream-to-table joins
- Global table joins
- Handling join windows and grace periods
Using Windowed Operations
Learn how to process data within time windows:
- Tumbling windows
- Hopping windows
- Session windows
- Sliding windows
- Time-based aggregations
Error Handling and Recovery
This tutorial focuses on building robust KSML applications:
- Handling malformed data
- Implementing dead letter queues
- Recovering from errors
- Monitoring and alerting
Working with State Stores
Learn how to use and manage state in your KSML applications:
- Creating and configuring state stores
- Reading from and writing to state stores
- Handling state store failures
- State store backup and recovery
Learning Path
We recommend following these tutorials in order, as they build on concepts introduced in previous tutorials.
Next Steps
After mastering these intermediate concepts, you're ready for the most advanced KSML topics:
👉 Continue to Advanced Tutorials to learn about custom processors, performance optimization, and integration with external systems.