A KStream is a stream of independent events; a KTable is a changelog in which each record updates its key's value; a GlobalKTable is a KTable copied in full to every instance, joinable on any field without repartitioning. Operations build a topology, which Kafka Streams 129 cuts into sub-topologies wherever records must be repartitioned by a new key:

Each sub-topology runs as one task per input partition, spread over the threads and instances that share the application.id.