title: Merge Kafka streams
body: <p>In <code>Kafka</code>, I have three topics, whose content is produced with <code>Kafka Connect</code>. Here is an example:</p>
  <pre><code>PersonTopic
    - person_id
    - person_name
  
  AddressTopic
    - address_id
    - person_id
    - address_text
  
  ChildrenTopic
    - child_id
    - person_id
    - child_name
  </code></pre>
  <p>Is there a way to collect messages that consist of data from all three topics?
  I am also interested in dealing with corner cases, for example if records from child topics arrive late. I can use <code>Kafka-Connect</code>, <code>KSQL</code> or steam API, or whatever gets the job done.</p>
  <p>Example of the desired result:</p>
  <pre><code>ResultTopic
    - person_id
    - person_name
    - addresses
      - address1 { address_id, address_text }
      - address2 { address_id, address_text }
    - children
      - child_1 { child_id, child_name }
      - child_2 { child_id, child_name }
      - child_3 { child_id, child_name }
  </code></pre>