It seems like flink only supports DataStream joining within same time window. Why is it restricted in this way?
I think I can implement a TwoInputStreamOperator to join two DataStreams without considering the window. And inside the operator, create two state to cache records of two streams and join the streams within methods processElement1/processElement2. Should I go head with this approach? Is there any performance consideration here? If the concern is that the cache might take a lot of memory, we can introduce some cache policy and reduce the size. Or can we use rocksDB state? Please advise. Best Yan