I want to do a one:many join between two streams. There should be ~ 1:100 with < 1% having no match.
My topology is relatively simple: KTable1.join(KTable2)->to("other topic") \ \---> toStream().print() In the join it takes both Value1 and Value2 as JSON, converts them back to Java Objects and combines them. This is returned as the JSON representation of a new Object. If either value was NULL or unable to convert back to its source Object an exception would be thrown. The output sent to the debugger looks like this for many thousands of rows [KTABLE-TOSTREAM-0000000009]: 20bebc12136be4226b29c5d1b6183d8ed2b117c5 , null [KTABLE-TOSTREAM-0000000009]: c6f038b5182b8a2409a5eeee2be71f171d54e3b4 , null [KTABLE-TOSTREAM-0000000009]: f4b0aa0516c37c2725ce409cc5766df9a942950f , null [KTABLE-TOSTREAM-0000000009]: e7d8912ac1b660d21d1dd94955386fb9561abbab , null Then I will get many more that are matched. Questions: 1. Im assuming the ",null" indicates no match was found. This is a problem. The source of the data is well understood and is < 1% unmatched. If either object is null it throws an exception - which is doesn't. 2. Is this the appropriate way to do a one:many join?