Apache Kafka Series - Kafka Streams for Data Processing

4h 50m 7s
English
Paid

Course description

Learn the Kafka Streams API with Hands-On Examples, Learn Exactly Once, Build and Deploy Apps with Java 8. Learn the Kafka Streams data processing library, for Apache Kafka. Join hundreds of knowledge savvy students into learning one of the most promising data processing library on Apache Kafka.
Read more about the course

Kafka Streams is the easiest way to write your applications on top of Kafka:

> Easiest way to transform your data using the High Level DSL
> Exactly Once semantics support out of the box!
> Deploy and Scale your Kafka Streams application without a cluster!
> Perform Aggregations, joins, and any operations you may think of using only a few lines of code!
> Built on top of Kafka, for fault tolerance, scalability and resiliency

Instructor

Stephane Maarek is the instructor of this course. He is a Kafka Expert, and the author of the highly-rated Apache Kafka Series on Udemy, having taught already to 40000+ students and received 12000+ reviews.

He shares all his Kafka knowledge on the platform, taking the time to explain every concept and provide students with both theoretical and practical dimensions. You are in good hands!

Hands On & Theory Based Course

Note: This course is based on Java 8, and will include one example in Scala. Kafka Streams is Java based, and therefore is not suited for any other programming language. 

Each section can be either theoretical, or a practice section. 

> Through practice, you will be challenged by writing your own Kafka Streams application. The solutions will be thoroughly explained, and you will learn some tips on how to use Kafka Streams the best way.

> Through theory, you will learn about all the available API, the inner workings of the library, as well as some exciting concepts such as Exactly Once Semantics!

This course is the first and only available Kafka Streams course on the web. Get it now to become a Kafka expert!

Section outline:

  1. Kafka Streams - First Look: Let's get Kafka started and run your first Kafka Streams application, WordCount

  2. End-to-End Kafka Streams Application : Write the code for the WordCount, bring in the dependencies, build and package your application, and learn how to scale it. This is a complete end to end example

  3. KStream and KTable Simple Operations: Learn all the stateless operations available for the KStream and KTable API

  4. Practice Exercise - Favourite Colour: Practice your newly acquired skills by writing your own Kafka Streams application, Favourite Colour. It will be challenging! Includes a Scala version of the example

  5. KStream and KTable Advanced Operations: Learn all the stateful operations available for the KStream and KTable API

  6. Exactly Once Semantics - Theory: Learn what EOS (Exactly Once Semantics) is, how Kafka 0.11 enables it, and how to activate them in Kafka Streams

  7. Exactly Once - Practice Exercise - Bank Balance: Practice your newly acquired knowledge by writing your own Kafka Streams Exactly Once application, to compute a running Bank Balance for your customers

  8. Testing your Kafka Streams Application: Learn how to test the WordCount Kafka Streams Topology with Kafka Streams v1.1.0

Learn The Hottest Kafka Data Processing Library Now!

Kafka is increasingly becoming a must-have skill, and this course will set you up for fast success using the Kafka Streams API. The job market will need people with your newly acquired skillset!

Who is the target audience?

  • This course is for developers and devops who would like to learn how to write, package, deploy and run a Kafka Streams applications

  • This course is for architects who would like to understand how Kafka Streams work and its position in the Kafka-centered data pipeline and enterprise architecture

  • You will need some good understanding of Kafka before starting this course

Requirements:

  • Good knowledge of Apache Kafka

  • A recent computer (Windows / Linux / Mac OS X) with 4GB of RAM

  • Good knowledge of Java 8 Programming Language

Who this course is for:
  • Developers and devops who would like to learn how to write, package, deploy and run a Kafka Streams applications
  • Architects who would like to understand how Kafka Streams work and its position in the Kafka-centered data pipeline and enterprise architecture
  • People who fully understand the basics of Kafka
  • Java 8 and Scala developers only

What you'll learn:

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

Watch Online

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

Watch Online Apache Kafka Series - Kafka Streams for Data Processing

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

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Fundamentals of Networking Engineering

Fundamentals of Networking Engineering

Sources: udemy
We are entering an era in software engineering where we rely on libraries and frameworks to do most of our work. While this is useful and save tremendous dev ho
18 hours 6 minutes 23 seconds
Effective Database Design

Effective Database Design

Sources: Ben Brumm
The course "Effective Database Design" will provide you with an action plan, examples, and instructions for creating a well-designed database.
1 hour 3 minutes 56 seconds
PostgreSQL High Performance Tuning Guide

PostgreSQL High Performance Tuning Guide

Sources: udemy
PostgreSQL is one of the most powerful and convenient database management systems. It is actively supported by the community and receives new releases every...
2 hours 41 minutes 14 seconds
Neo4j: GraphDB Foundations with Cypher

Neo4j: GraphDB Foundations with Cypher

Sources: udemy
Learn what a graph database is, gain the fundamental skills to use Neo4j on your next project. Learn how some of the worlds top tech companies structure and que
4 hours 44 minutes
Apache Kafka Series - Learn Apache Kafka for Beginners v3

Apache Kafka Series - Learn Apache Kafka for Beginners v3

Sources: udemy
Welcome to the Apache Kafka Series! Join a community of 20,000+ students learning Kafka. Apache Kafka has become the leading distributed data streaming enterprise big data tech...
8 hours 20 minutes 45 seconds