join
fun <K, V, otherV, outV> KStream<K, V>.join(table: KTable<K, otherV>, joined: Joined<K, V, otherV>, valueJoiner: ValueJoinerWithKey<K, V, otherV?, outV>): KStream<K, outV>
fun <K, inV, otherK, otherV, outV> KStream<K, inV>.join(name: String, globalTable: GlobalKTable<otherK, otherV>, keySelector: KeyValueMapper<K, inV, otherK?>, valueJoiner: ValueJoinerWithKey<K, inV, otherV?, outV>): KStream<K, outV>