Comments (3)
The join happens here: https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/kstream/internals/KStreamKStreamJoin.java#L88-L100
For a join, there is a windowed store for each input side that buffers all incoming records (this happens in an upstream processor: https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/kstream/internals/KStreamJoinWindow.java#L64).
Additionally, each input record is used to so a lookup in the other store to find matching keys. The store lookup is basically the evaluation of the ==
predicate on the key plus the timestamp evaluation (cf. the otherWindow.fetch(key, timeFrom, timeTo)
operation).
Before the join is done, Kafka Streams ensures that both input topics have the same number of partitions and that data is partitioned on the key. Thus, topic1-partition0 and topic2-partition-0 will contain the same keys and can be processed within a single thread.
Hope this helps.
from kafka-streams-examples.
The key comparison happens on the raw bytes -- thus, as long as both messages have the exact same serialized format they will be joined. What join are you interested in? KStream-KStream, KTable-KTable, or KStream-KTable?
from kafka-streams-examples.
KStream-KStream
from kafka-streams-examples.
Related Issues (20)
- Question about KafkaMusic's top five songs aggregator HOT 6
- DeduplicationTransformer example only supports 1 partition HOT 2
- [BUG] microservices-orders: unknown command "READ" for "ccloud kafka acl create" HOT 3
- how to Packaging and running the Application Examples HOT 1
- GlobalKTablesAndStoresExampleDriver hangs with GlobalKTablesExample HOT 5
- How to create Kafka Server with org.apache.kafka:kafka_2.13:test:2.7.1 HOT 1
- Naming when adding global store HOT 4
- Do we have example on Kafka Stream Processor API to handle Smart routing case HOT 1
- ditch awaits in docker compose file
- Gitpodify so people can easily run the examples with 0 setup
- Do we have example to handle processor exception.
- Join operation is not working after update to 1.2.0 HOT 1
- Is The class of DeserializationExceptionHandler support construct with parameters HOT 1
- Consistency between inventory KTable/Topic and state store "reservedStock" for "shipped" event HOT 1
- Regarding Sum example HOT 1
- Can't find the package io.confluent.examples.streams.avro in src folder HOT 1
- How to suppress window using wall clock time instead of event time in Kafka streams? HOT 1
- Can't load library when running AnomalyDetectionLambdaExample HOT 2
- Case: 100+ KafkaStreams threads on 3.5k+ topics/partitions with exactly_once_v2 guarantee HOT 8
- Event driven order
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kafka-streams-examples.