
Learn what is Kafka Streams at a high level
Run through some pre-requisites for this course, understand who the target student is
Short bio of your instructor, Stephane Maarek!
Full end to end run of your first Kafka Streams application.
We will download Kafka, start our own cluster, and run producers, consumers, and our first Kafka Streams application
Short lecture comparing Kafka Streams to other streaming libraries
Description of the Word Count Kafka Streams application
Learn the Kafka Streams Core Concepts, Topologies, Sink, Sources, Processors, Streams
Setup Java 8, Maven, IntelliJ IDEA Community Editions so we can get started coding our first Kafka Streams application
Setup a project starter so we can include the right kafka streams dependencies and get coding!
Write our first Kafka Streams code. We will setup the Kafka Streams properties
Learn about what is a Java 8 Lambda and how we will use them
Write our application topology using the newly acquired Java 8 Lambdas.
This is the first time we're dealing with the Kafka Streams API
Learning how to print the Kafka Streams topology
Add some code so that our Kafka Streams application shuts down gracefully when we stop it
Learn how to run our Kafka Streams application straight from IntelliJ
Learn how to run the IntelliJ debugger to do step through in our code
Learn about Kafka Streams internal topics (repartition and changelog topics)
Learn how to use Maven Assembly to package our Kafka Streams application as a fat jar
Learn how to scale a Kafka Streams application
Wrap up on all the awesome learning from this section
Learn the objective of this section, learning the stateless operations in Kafka Streams
Learn about KStream and KTables
Learn what Stateless and Stateful mean
Learn about the Map and MapValues Kafka Streams Operation
Learn about the Filter and FilterNot Kafka Streams Operation
Learn about the FlatMap and FlatMapValues Kafka Streams Operation
Learn about the Branch Kafka Streams Operation
Learn about the SelectKey Kafka Streams Operation
Learn how to read a KStream or KTable from Kafka
Learn how to write your KStream or KTable back to Kafka
Learn what operations mark streams for re-partition
Learn the fundamentals behind Log Compaction. This is a refresher!
Learn what is the KStream and KTable Duality
Learn how to transform a KTable into a KStream in Kafka Streams
Learn how to transform a KStream into a KTable
Summary of all the learning on Stateless Operations
Learn about the practice Kafka Streams exercise, favourite colour!
Hints and guidance to conduct the programming of this Kafka Streams application by yourself
Java solution for the Kafka Streams application FavouriteColour
Running the Favourite Colour Kafka Streams application
Learn how to write the same application using Scala
Section objective on KStream and KTable stateful operations
Learn about the groupBy operation
Learn the count operation
Learn the aggregate operation
Learn the reduce operation
Learn the peek operation on KStream
Learn the Transform / Transform Values operation on KStream
Learn how Kafka Connect can help you write your transformed data into a sink store / external system
Summary diagram from the Confluent documentation for operations
Learn what Exactly Once Semantics are
Learn how Kafka 0.11 solves the problem to have exactly once semantics
Understand the use cases of At Least Once vs Exactly Once
Learn how to easily achieve exactly once semantics in Kafka Streams!
Description for the BankBalance practice Kafka Streams exercise
Guidance for you to write your Kafka Producer in order to produce random bank transactions
Solution for the Kafka Producer that generates JSON random bank transactions
Hints on how to write your Kafka Streams application
Solution to build the Bank Balance Kafka Streams application
Let's run the Bank Balance producer and Kafka Streams application!
Summary of our learnings to date
Learn about Joins in Kafka Streams. Learn when it is or isn't possible to join data
Understand what is co-partition of data, join constraints, and how global KTables solve the problem
Learn about the different types of joins in Kafka Streams
Hands On Example to perform a join between a KStream and a KTable
Blog post from Confluent that explains joins semantics
Running the example with an interactive producer that has different cases
The new volume in the Apache Kafka Series!
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.
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
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:
Kafka Streams - First Look: Let's get Kafka started and run your first Kafka Streams application, WordCount
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
KStream and KTable Simple Operations: Learn all the stateless operations available for the KStream and KTable API
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
KStream and KTable Advanced Operations: Learn all the stateful operations available for the KStream and KTable API
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
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
Testing your Kafka Streams Application: Learn how to test the WordCount Kafka Streams Topology with Kafka Streams v1.1.0
===============================
Instructor
My name is Stephane Maarek, and I'll be your instructor in this course. I teach about Apache Kafka, the Kafka ecosystem and Kafka Certifications with my focus always on helping my students improve their professional proficiencies. I am also the co-founder of Conduktor: an enterprise Apache Kafka platform & UI to help everyone use Kafka.
Throughout my career in designing and delivering these certifications and courses, I have already taught 1,000,000+ students and gotten 350,000+ reviews!
With Apache Kafka becoming much more than a buzzword out there, I've decided it's time for students to properly learn how to be a Kafka professional. So, let’s kick start the course! You are in good hands!
===============================
This Course Also Comes With:
Lifetime Access to All Future Updates
A responsive instructor in the Q&A Section
Links to interesting articles, and lots of good code to base your next applications onto
Udemy Certificate of Completion Ready for Download
This is the course that could improve your career!
Apache Kafka is a skill in high demand and there are not enough people to fulfill all the open positions. You can boost your income, take on new roles and fun challenges. Many of my students are now the Kafka experts of their companies! You can be the next!
I hope to see you inside the course!
=======================
Note: Looking for more advanced Kafka concepts? There are many volumes in the Apache Kafka Series:
Learn Kafka for Beginners v2 (great to start)
Kafka Connect Hands On Learning
Kafka Streams for Data Processing
KSQL on ksqlDB - Hands On!
Kafka Cluster Setup & Administration
Confluent Schema Registry & Kafka REST Proxy
Kafka Security (SSL SASL ACL)
Kafka Monitoring and Operations
Happy learning!