Thanks for the details. This does make sense.
So it seems you can read all topic as table (ie, builder.table("topic")
-- no need to so `builder.stream().toTable()`).
And you can use the built-in FK-table-table join, and aggregate the result:
KTable result =
folderTable
.join(personTable, (folderId, folder) -> folder.customerId, ...)
.groupBy((...) -> (personId, ...))
.aggregate(...);
result.toStream().to("resultTopic");
Note the fk-extractor `(folderId, folder) -> folder.customerId` that
tells the join to use `customerId` from the `folderTable` to lookup the
person from personTable.
Think of `folderTable` as fact-table and `personTable` as dimension table.
KS will take care of everything else under the hood automatically.
-Matthias
On 1/30/24 11:25 AM, Karsten Stöckmann wrote:
> Matthias, thanks for getting back on this. I'll try to illustrate my
> intent with an example as I...