Skip to content

Files

Latest commit

32899e0 · Jun 20, 2025

History

History

kafka-streams-left-join-stream-table

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Jun 20, 2025
Apr 21, 2025
Feb 13, 2025
Mar 11, 2025
Feb 13, 2025

README.md

Kafka Streams Left Join Stream Table

This module streams records of type <String, KafkaUser> from the USER_TOPIC and joins them by nationality with records of type <String, KafkaCountry> from the COUNTRY_TOPIC. It demonstrates the following:

  • How to use the Kafka Streams DSL to join a KStream with a KTable using leftJoin(), selectKey() and peek().
  • Unit testing using the Topology Test Driver.

topology.png

Prerequisites

To compile and run this demo, you’ll need:

  • Java 21
  • Maven
  • Docker

Running the Application

To run the application manually:

  • Start a Confluent Platform in a Docker environment.
  • Produce records of type <String, KafkaCountry> to the COUNTRY_TOPIC. You can use the Producer Country for this.
  • Produce records of type <String, KafkaUser> to the USER_TOPIC. You can use the Producer User for this.
  • Start the Kafka Streams application.

Alternatively, to run the application with Docker, use the following command:

docker-compose up -d

This command will start the following services in Docker:

  • 1 Kafka Broker (KRaft mode)
  • 1 Schema Registry
  • 1 Control Center
  • 1 Producer Country
  • 1 Producer User
  • 1 Kafka Streams Left Loin Stream Table