Details
-
Sub-task
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
Description
Flink does not natively support outer joins at the moment.
This issue proposes to implement a sort-merge outer join algorithm that can cover left, right, and full outer joins.
The implementation can be based on the regular sort-merge join iterator (ReusingMergeMatchIterator and NonReusingMergeMatchIterator, see also MatchDriver class)
The Reusing and NonReusing variants differ in whether object instances are reused or new objects are created. I would start with the NonReusing variant which is safer from a user's point of view and should also be easier to implement.