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
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 5000+ students and received 1000+ 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!
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
✔ A 30 Day "No Questions Asked" Money Back Guarantee!
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!
"Take This Course" risk free and learn Kafka Streams now!
Who is the target audience?
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
Download the code from github and this lecture
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
Congratulations! And what to study next
Special links to my other courses
Stephane is a solutions architect, consultant and software developer that has a particular interest in all things related to big data and analytics. He's also a best seller instructor on Udemy for his courses in Apache Kafka, Apache NiFi and AWS Lambda!
He loves Apache Kafka. He regularly contributes to the Apache Kafka project and wrote a guest blog post featured on the Confluent website, the company behind Apache Kafka.
He also is an AWS certified Solutions Architect, and has many years of experience with technologies such as Apache Kafka, Apache NiFi, Apache Spark, Hadoop, PostgreSQL, Tableau, Spotfire, Docker and Ansible amongst many others.
His favourite programming languages are Scala and Python, and he plans on learning Go soon.
During his spare time he enjoys cooking, practicing yoga, surfing, watching TV shows, and traveling to awesome destinations!