Section 1 : Kafka Streams - First Look

Lecture 1 What is Kafka Streams 00:04:47 Duration
Lecture 2 Course Objective Prerequisites Target Students 00:04:11 Duration
Lecture 3 INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM
Lecture 4 Running your first Kafka Streams Application WordCount
Lecture 5 Kafka Streams vs other stream processing libraries (Spark Streaming, NiFI, Flink 00:03:01 Duration

Section 2 : Code Download

Lecture 1 About Certification

Section 3 : End to End Kafka Streams Application - Word Count

Lecture 1 Section Objective 00:01:46 Duration
Lecture 2 Kafka Streams Core Concepts 00:03:29 Duration
Lecture 3 Environment and IDE Setup Java 8, Maven, IntelliJ IDEA 00:04:03 Duration
Lecture 4 Starter Project Setup 00:07:57 Duration
Lecture 5 Kafka Streams Application Properties 00:07:26 Duration
Lecture 6 Java 8 Lambda Functions - quick overview 00:02:56 Duration
Lecture 7 Word Count Application Topology 00:14:08 Duration
Lecture 8 Printing the Kafka Streams Topology 00:01:33 Duration
Lecture 9 Kafka Streams Graceful Shutdown 00:02:04 Duration
Lecture 10 Running Application from IntelliJ IDEA 00:09:22 Duration
Lecture 11 Debugging Application from IntelliJ IDEA 00:04:07 Duration
Lecture 12 Internal Topics for our Kafka Streams Application 00:03:48 Duration
Lecture 13 Packaging the application as Fat Jar & Running the Fat Jar
Lecture 14 Scaling our Application 00:04:00 Duration
Lecture 15 INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM

Section 4 : KStreams and KTables Simple Operations (Stateless)

Lecture 1 Section Objectives 00:01:15 Duration
Lecture 2 KStream & KTables 00:03:39 Duration
Lecture 3 Stateless vs Stateful Operations 00:01:41 Duration
Lecture 4 MapValues Map 00:01:36 Duration
Lecture 5 Filter FilterNot 00:01:22 Duration
Lecture 6 FlatMapValues FlatMap 00:02:10 Duration
Lecture 7 Branch
Lecture 8 SelectKey 00:01:15 Duration
Lecture 9 Reading from Kafka 00:02:16 Duration
Lecture 10 Writing to Kafka 00:01:52 Duration
Lecture 11 Streams Marked for Re-Partition 00:02:53 Duration
Lecture 12 Refresher on Log Compaction 00:17:45 Duration
Lecture 13 KStream and KTables Duality 00:02:21 Duration
Lecture 14 Transforming a KTable to a KStream 00:00:42 Duration
Lecture 15 Transforming a KStream to a KTable 00:01:24 Duration
Lecture 16 Section Summary 00:00:47 Duration

Section 5 : Practice Exercise - FavouriteColour

Lecture 1 FavouriteColour - Practice Exercise Description & Guidance 00:03:20 Duration
Lecture 2 Stuck Here are some Hints! 00:02:40 Duration
Lecture 3 Java Solution 00:08:33 Duration
Lecture 4 Running the application 00:05:46 Duration
Lecture 5 Scala Solution 00:06:21 Duration

Section 6 : KStreams and KTables Advanced Operations (Stateful)

Lecture 1 Section Objective 00:01:00 Duration
Lecture 2 KTable groupBy 00:01:46 Duration
Lecture 3 KGroupedStream KGroupedTable Count 00:02:05 Duration
Lecture 4 KGroupedStream KGroupedTable Aggregate 00:04:13 Duration
Lecture 5 KGroupedStream KGroupedTable Reduce 00:01:40 Duration
Lecture 6 KStream peek 00:02:08 Duration
Lecture 7 KStream Transform TransformValues 00:01:13 Duration
Lecture 8 What if I want to write to an external System 00:01:40 Duration
Lecture 9 Summary Diagram 00:01:04 Duration

Section 7 : Exactly Once Semantics - Theory

Lecture 1 What's Exactly Once 00:06:08 Duration
Lecture 2 Exactly Once in Kafka 0 00:02:42 Duration
Lecture 3 What's the problem with at least once anyway 00:01:29 Duration
Lecture 4 How to do exactly once in Kafka Streams 00:02:05 Duration

Section 8 : Exactly Once Semantics - Practice Exercise - BankBalance

Lecture 1 BankBalance - Exercise Overview 00:02:15 Duration
Lecture 2 Kafka Producer Guidance 00:01:42 Duration
Lecture 3 Kafka Producer Solution 00:14:18 Duration
Lecture 4 Kafka Streams Guidance & Hints
Lecture 5 Kafka Streams Solution 00:09:13 Duration
Lecture 6 Running the BankBalance Application 00:04:42 Duration
Lecture 7 Section Summary 00:00:57 Duration

Section 9 : Joins - KStream to GlobalKTable example

Lecture 1 What are joins in Kafka Streams 00:02:49 Duration
Lecture 2 Join Constraints and GlobalKTables 00:02:53 Duration
Lecture 3 The different types of joins Inner Join, Left Join, Outer Join
Lecture 4 Creating a join with UserEnrich Kafka Streams App 00:12:33 Duration
Lecture 5 About Proctor Testing
Lecture 6 Running the Kafka Streams Join application 00:05:07 Duration

Section 10 : Testing your Kafka Streams Application

Lecture 1 Disclaimer Advanced Lectures
Lecture 2 Testing in Kafka Streams 00:04:03 Duration
Lecture 3 Setup your Kafka Streams project 00:03:58 Duration
Lecture 4 Hands-On Test your WordCount application 00:14:29 Duration
Lecture 5 Self-Guided Practice Exercises

Section 11 : Next Steps

Lecture 1 Congratulations and next steps 00:02:32 Duration