Kafka Streams - First Look
  • What is Kafka Streams?
  • Course Objective / Prerequisites / Target Students
  • About your Instructor: Stephane Maarek
  • Running your first Kafka Streams Application: WordCount
  • Kafka Streams vs other stream processing libraries (Spark Streaming, NiFI, Flink
Code Download
  • Code Download
End to End Kafka Streams Application - Word Count
  • Section Objective
  • Kafka Streams Core Concepts
  • Environment and IDE Setup: Java 8, Maven, IntelliJ IDEA
  • Starter Project Setup
  • Kafka Streams Application Properties
  • Java 8 Lambda Functions - quick overview
  • Word Count Application Topology
  • Printing the Kafka Streams Topology
  • Kafka Streams Graceful Shutdown
  • Running Application from IntelliJ IDEA
  • Debugging Application from IntelliJ IDEA
  • Internal Topics for our Kafka Streams Application
  • Packaging the application as Fat Jar & Running the Fat Jar
  • Scaling our Application
  • Section Wrap-Up
KStreams and KTables Simple Operations (Stateless)
  • Section Objectives
  • KStream & KTables
  • Stateless vs Stateful Operations
  • MapValues / Map
  • Filter / FilterNot
  • FlatMapValues / FlatMap
  • Branch
  • SelectKey
  • Reading from Kafka
  • Writing to Kafka
  • Streams Marked for Re-Partition
  • Refresher on Log Compaction
  • KStream and KTables Duality
  • Transforming a KTable to a KStream
  • Transforming a KStream to a KTable
  • Section Summary
Practice Exercise - FavouriteColour
  • FavouriteColour - Practice Exercise Description & Guidance
  • Stuck? Here are some Hints!
  • Java Solution
  • Running the application
  • Scala Solution
KStreams and KTables Advanced Operations (Stateful)
  • Section Objective
  • KTable groupBy
  • KGroupedStream / KGroupedTable Count
  • KGroupedStream / KGroupedTable Aggregate
  • KGroupedStream / KGroupedTable Reduce
  • KStream peek
  • KStream Transform / TransformValues
  • What if I want to write to an external System?
  • Summary Diagram
Exactly Once Semantics - Theory
  • What's Exactly Once?
  • Exactly Once in Kafka 0.11
  • What's the problem with at least once anyway?
  • How to do exactly once in Kafka Streams
Exactly Once Semantics - Practice Exercise - BankBalance
  • BankBalance - Exercise Overview
  • Kafka Producer Guidance
  • Kafka Producer Solution
  • Kafka Streams Guidance & Hints
  • Kafka Streams Solution
  • Running the BankBalance Application
  • Section Summary
Joins - KStream to GlobalKTable example
  • What are joins in Kafka Streams?
  • Join Constraints and GlobalKTables
  • The different types of joins: Inner Join, Left Join, Outer Join
  • Creating a join with UserEnrich Kafka Streams App
  • All the joins explained - Blog Post
  • Running the Kafka Streams Join application
Testing your Kafka Streams Application
  • Disclaimer: Advanced Lectures
  • Testing in Kafka Streams
  • Setup your Kafka Streams project
  • Hands-On: Test your WordCount application
  • Self-Guided Practice Exercises
Next Steps
  • Congratulations and next steps
  • THANK YOU!
  • Bonus Lecture: Special Coupons to my other courses