Chapter 8. Joining Streams with Kafka Streams
Although the orders
stream doesn’t currently contain detailed information about products, in the last chapter we set up Debezium to capture any changes to the MySQL products
table and write them into the products
stream.
In this chapter, you’ll learn how to combine the orders
stream and products
streams by using a stream processor.
We’ll put the new stream into Apache Pinot and update the dashboard with the top-selling products and categories.
Enriching Orders with Kafka Streams
In Chapter 4, we used Kafka Streams to create a windowed aggregation over the orders
stream so that we could compute the number of orders and revenue in the last few minutes.
In this section, we’re going to populate a new stream called enriched-order-items
that will contain all the order items contained in the orders
stream, hydrated with details from the products
stream.
Figure 8-1 shows what we’re going to build in more detail.
We can break Figure 8-1 down further to visualize the different processors that will exist in the Kafka Streams graph to achieve this, as shown in Figure 8-2.
Now that we have an overview of what we’re going to build, let’s get ...
Get Building Real-Time Analytics Systems now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.