Skip to main content

Apache Kafka Series - Kafka Streams for Data Processing

4h 50m 7s
English
Paid

Master the Kafka Streams API with hands-on examples, learn "Exactly Once" semantics, and build and deploy apps with Java 8. Immerse yourself in the Kafka Streams data processing library for Apache Kafka and join hundreds of enthusiastic learners. Elevate your skills with one of the most promising data processing libraries on Apache Kafka.

What You'll Learn

  • Write four Kafka Streams applications in Java 8
  • Configure Kafka Streams for Exactly Once Semantics
  • Scale Kafka Streams applications effectively
  • Program with the High Level DSL of Kafka Streams
  • Build and package your applications
  • Test your Kafka Streams Topology
  • And much more!

Course Benefits

This course is structured to provide a balanced mix of theoretical understanding and hands-on practice:

Hands-On Experience

  • Practice writing your own Kafka Streams applications with detailed solutions and expert tips on leveraging Kafka Streams effectively.

Theoretical Knowledge

  • In-depth learning of the available APIs, inner workings of the library, and concepts such as Exactly Once Semantics.

Course Outline

  1. Kafka Streams - First Look: Initialize Kafka and run your first Kafka Streams application, WordCount
  2. End-to-End Kafka Streams Application: Implement the WordCount example, manage dependencies, build, package, and scale your application
  3. KStream and KTable Simple Operations: Explore the stateless operations in the KStream and KTable API
  4. Practice Exercise - Favourite Colour: Reinforce your skills by developing the Favourite Colour application, including a Scala example
  5. KStream and KTable Advanced Operations: Learn stateful operations available in the KStream and KTable API
  6. Exactly Once Semantics - Theory: Understand EOS (Exactly Once Semantics), its enablement in Kafka 0.11, and activation in Kafka Streams
  7. Exactly Once - Practice Exercise - Bank Balance: Create an application for computing a running Bank Balance with exactly once semantics
  8. Testing your Kafka Streams Application: Techniques for testing the WordCount Kafka Streams Topology with Kafka Streams v1.1.0

Instructor

Stephane Maarek is your course instructor. Renowned as a Kafka Expert, he is the author of the top-rated Apache Kafka Series on Udemy. Having taught over 40,000 students with 12,000+ reviews, Stephane delivers deep insights into Kafka Streams. Rest assured, you are in capable hands.

Target Audience

  • Developers and DevOps: Aspiring to learn writing, packaging, deploying, and running Kafka Streams applications
  • Architects: Looking to understand Kafka Streams within the Kafka-centered data pipeline and enterprise architecture
  • Individuals with a solid understanding of Kafka
  • Java 8 and Scala developers exclusively

Course Features

  • Lifetime access to updates
  • Responsive instructor support
  • Access to valuable articles and code samples
  • Udemy Certificate of Completion
  • 30-Day "No Questions Asked" Money Back Guarantee

Requirements:

  • Good knowledge of Apache Kafka
  • A recent computer (Windows / Linux / Mac OS X) with 4GB of RAM
  • Proficiency in Java 8 Programming

Jumpstart Your Kafka Streams Expertise! Learn the hottest data processing library and enhance your career prospects with in-demand Kafka Streams skills. Enroll now and join the growing market need for Kafka experts.

About the Author: udemy

udemy thumbnail
By connecting students all over the world to the best instructors, Udemy is helping individuals reach their goals and pursue their dreams. Udemy is the leading global marketplace for teaching and learning, connecting millions of students to the skills they need to succeed. Udemy helps organizations of all kinds prepare for the ever-evolving future of work. Our curated collection of top-rated business and technical courses gives companies, governments, and nonprofits the power to develop in-house expertise and satisfy employees’ hunger for learning and development.

Watch Online 71 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 71 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: What is Kafka Streams?
All Course Lessons (71)
#Lesson TitleDurationAccess
1
What is Kafka Streams? Demo
04:48
2
Course Objective / Prerequisites / Target Students
04:12
3
About your Instructor: Stephane Maarek
02:21
4
Running your first Kafka Streams Application: WordCount
12:53
5
Kafka Streams vs other stream processing libraries (Spark Streaming, NiFI, Flink
03:02
6
Section Objective
01:46
7
Kafka Streams Core Concepts
03:29
8
Environment and IDE Setup: Java 8, Maven, IntelliJ IDEA
04:04
9
Starter Project Setup
07:58
10
Kafka Streams Application Properties
07:26
11
Java 8 Lambda Functions - quick overview
02:56
12
Word Count Application Topology
14:09
13
Printing the Kafka Streams Topology
01:34
14
Kafka Streams Graceful Shutdown
02:04
15
Running Application from IntelliJ IDEA
09:23
16
Debugging Application from IntelliJ IDEA
04:07
17
Internal Topics for our Kafka Streams Application
03:48
18
Packaging the application as Fat Jar & Running the Fat Jar
04:35
19
Scaling our Application
04:00
20
Section Wrap-Up
01:41
21
Section Objectives
01:15
22
KStream & KTables
03:40
23
Stateless vs Stateful Operations
01:42
24
MapValues / Map
01:36
25
Filter / FilterNot
01:23
26
FlatMapValues / FlatMap
02:11
27
Branch
02:46
28
SelectKey
01:15
29
Reading from Kafka
02:17
30
Writing to Kafka
01:53
31
Streams Marked for Re-Partition
02:53
32
Refresher on Log Compaction
17:46
33
KStream and KTables Duality
02:21
34
Transforming a KTable to a KStream
00:42
35
Transforming a KStream to a KTable
01:25
36
Section Summary
00:48
37
FavouriteColour - Practice Exercise Description & Guidance
03:21
38
Stuck? Here are some Hints!
02:41
39
Java Solution
08:34
40
Running the application
05:47
41
Scala Solution
06:21
42
Section Objective
01:01
43
KTable groupBy
01:47
44
KGroupedStream / KGroupedTable Count
02:06
45
KGroupedStream / KGroupedTable Aggregate
04:13
46
KGroupedStream / KGroupedTable Reduce
01:41
47
KStream peek
02:09
48
KStream Transform / TransformValues
01:13
49
What if I want to write to an external System?
01:41
50
Summary Diagram
01:04
51
What's Exactly Once?
06:08
52
Exactly Once in Kafka 0.11
02:42
53
What's the problem with at least once anyway?
01:30
54
How to do exactly once in Kafka Streams
02:05
55
BankBalance - Exercise Overview
02:16
56
Kafka Producer Guidance
01:42
57
Kafka Producer Solution
14:18
58
Kafka Streams Guidance & Hints
01:56
59
Kafka Streams Solution
09:13
60
Running the BankBalance Application
04:43
61
Section Summary
00:57
62
What are joins in Kafka Streams?
02:50
63
Join Constraints and GlobalKTables
02:54
64
The different types of joins: Inner Join, Left Join, Outer Join
02:46
65
Creating a join with UserEnrich Kafka Streams App
12:34
66
Running the Kafka Streams Join application
05:08
67
Testing in Kafka Streams
04:03
68
Setup your Kafka Streams project
03:59
69
Hands-On: Test your WordCount application
14:29
70
Congratulations and next steps
02:33
71
THANK YOU!
01:33
Unlock unlimited learning

Get instant access to all 70 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription