The new volume in the Apache Kafka Series! Learn the Kafka Streams data-processing library, for Apache Kafka. Join hundreds of knowledge savvy students in learning one of the most promising data-processing libraries on Apache Kafka. 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. This course is the first and only available Kafka Streams course on the web. Get it now to become a Kafka expert!
What You Will 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!
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 works 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
About The Author
Stéphane Maarek: Stéphane Maarek is a solutions architect, consultant, and software developer who has a particular interest in all things related to big data and analytics. He is also a bestseller instructor on Udemy for his courses on Apache Kafka, Apache NiFi, and AWS Lambda. He loves Apache Kafka and regularly contributes to the Apache Kafka project.
Stéphane has also written a guest blog post that was featured on the Confluent website, the company behind Apache Kafka. He is also 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, Ansible, and more.
Table of contents
- Chapter 1 : Kafka Streams - First Look
Chapter 2 : End to End Kafka Streams Application - Word Count
- Section Objective
- Kafka Streams Core Concepts
- Environment and IDE Setup: Java 8, Maven, IntelliJ IDEA
- Starter Project Setup
- Kafka Streams Application Properties
- Java 8 Lambda Functions - quick overview
- Word Count Application Topology
- Printing the Kafka Streams Topology
- Kafka Streams Graceful Shutdown
- Running Application from IntelliJ IDEA
- Debugging Application from IntelliJ IDEA
- Internal Topics for our Kafka Streams Application
- Packaging the application as Fat Jar Running the Fat Jar
- Scaling our Application
- Section Wrap-Up
Chapter 3 : KStreams and KTables Simple Operations (Stateless)
- Section Objectives
- KStream KTables
- Stateless vs Stateful Operations
- MapValues / Map
- Filter / FilterNot
- FlatMapValues / FlatMap
- Reading from Kafka
- Writing to Kafka
- Streams Marked for Re-Partition
- Refresher on Log Compaction
- KStream and KTables Duality
- Transforming a KTable to a KStream
- Transforming a KStream to a KTable
- Section Summary
- Chapter 4 : Practice Exercise – FavouriteColour
- Chapter 5 : KStreams and KTables Advanced Operations (Stateful)
- Chapter 6 : Exactly Once Semantics – Theory
- Chapter 7 : Exactly Once Semantics - Practice Exercise – BankBalance
- Chapter 8 : Joins - KStream to GlobalKTable example
- Chapter 9 : Testing your Kafka Streams Application
- Chapter 10 : Next Steps
- Title: Apache Kafka Series - Kafka Streams for Data Processing
- Release date: May 2018
- Publisher(s): Packt Publishing
- ISBN: 9781789343496
You might also like
Apache Kafka Series - Kafka Monitoring and Operations
This course helps you learn Kafka administration, Kafka monitoring, Kafka operations, and Kafka upgrades. It covers …
Cloud native data pipelines with Apache Kafka
As microservices, data services, and serverless APIs proliferate in a cloud native world, analysts still need …
Stream Processing with Apache Kafka
What exactly is a streaming platform? Viktor Gamov explains what a streaming platform such as Apache …
Data Stream Development with Apache Spark, Kafka, and Spring Boot
Today, organizations have a difficult time working with huge numbers of datasets. In addition, data processing …