[ 
https://issues.apache.org/jira/browse/FLINK-37890?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gustavo de Morais updated FLINK-37890:
--------------------------------------
    Description: 
We need to have the optimizer check if it's possible to use a 
StreamingMultiJoinOperator according the [common key 
restrictions|https://cwiki.apache.org/confluence/display/FLINK/FLIP-516%3A+Multi-Way+Join+Operator].
 * Adjust JoinToMultiJoinRule to check if the join chain respects the multi 
join common key restrictions
 * If not, create one multi join for each group of joins that respect. That 
means for example, for 9 chained joins, 3 have one common key and 6 have 
another will generate two chained multi joins
 * This could be done by adjusting the canCombine method to fit our 
requirements 
https://github.com/apache/flink/blob/fdf0bc7e02380e92bb9ab59e5eb847776372df81/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/rules/logical/JoinToMultiJoinRule.java#L476

 

  was:
We need to have the optimizer check if it's possible to use a 
StreamingMultiJoinOperator according the [common key 
restrictions|https://cwiki.apache.org/confluence/display/FLINK/FLIP-516%3A+Multi-Way+Join+Operator].
 * Add Rule to check if the join chain respects the multi join common key 
restrictions
 ** If not, create one multi join for each group of joins that respect. That 
means 9 chained joins, 3 have one common key and 6 have another will generate 
two chained multi joins.
 ** This could be addressed in the new FlinkLogicalMultiJoin produced by 
FLINK-37889

Related:
 * Add FlinkLogicalMultiJoin with all parameters we need + 
FlinkJoinToFlinkMultiJoinRule to create it

 


> Extend JoinToMultiJoinRule to check for common join key
> -------------------------------------------------------
>
>                 Key: FLINK-37890
>                 URL: https://issues.apache.org/jira/browse/FLINK-37890
>             Project: Flink
>          Issue Type: Sub-task
>            Reporter: Gustavo de Morais
>            Priority: Major
>
> We need to have the optimizer check if it's possible to use a 
> StreamingMultiJoinOperator according the [common key 
> restrictions|https://cwiki.apache.org/confluence/display/FLINK/FLIP-516%3A+Multi-Way+Join+Operator].
>  * Adjust JoinToMultiJoinRule to check if the join chain respects the multi 
> join common key restrictions
>  * If not, create one multi join for each group of joins that respect. That 
> means for example, for 9 chained joins, 3 have one common key and 6 have 
> another will generate two chained multi joins
>  * This could be done by adjusting the canCombine method to fit our 
> requirements 
> https://github.com/apache/flink/blob/fdf0bc7e02380e92bb9ab59e5eb847776372df81/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/rules/logical/JoinToMultiJoinRule.java#L476
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to