SelectManyByKey
Turns each event into zero or more events using the stream’s key as well; each keeps the input event’s lifetime.
SelectManyByKey is to SelectMany what SelectByKey is to Select. Its selector receives the stream’s key with the payload, (key, payload) => sequence. Each payload in the sequence becomes an output event with the input event’s lifetime. Another overload takes the start time as well, (start, key, payload).
The diagram uses GroupApply to make each event’s Key field the stream key. Inside it, the key is a CompoundGroupKey, and its InnerGroup is the group’s key. Each event becomes as many events as its value, and each names its group: b:2 gives 2.1 in b and 2.2 in b.
See also: SelectByKey, SelectMany, GroupApply