[ https://issues.apache.org/jira/browse/BEAM-7151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17122846#comment-17122846 ]
Beam JIRA Bot commented on BEAM-7151: ------------------------------------- This issue is P2 but has been unassigned without any comment for 60 days so it has been labeled "stale-P2". If this issue is still affecting you, we care! Please comment and remove the label. Otherwise, in 14 days the issue will be moved to P3. Please see https://beam.apache.org/contribute/jira-priorities/ for a detailed explanation of what these priorities mean. > Support conjunction clause when it's only equi-join > --------------------------------------------------- > > Key: BEAM-7151 > URL: https://issues.apache.org/jira/browse/BEAM-7151 > Project: Beam > Issue Type: Sub-task > Components: dsl-sql > Reporter: Rui Wang > Priority: P2 > Labels: stale-P2 > > conjunction_clause: function_call(function_parameter, ...) | field_access | > column > function_parameter: function_call | field_access > In Beam, equi-join is implemented by CoGBK, which requires both join inputs > (assume binary join) to build PCollection of KV<Row, Row>, where the key is > join key. > For equi-join, conjunction clause is essentially an equation. In order to > build KV<Row, Row>, it requires that columns from different sides of equation > should come from different join input. For example, a + b = 2 cannot be used > to build join key but a = 2 - b can. So rewriting is required for clauses > when it does not satisfy this property. > It also implies that not every clause is rewritable. Say the clause is f(a, > b) = 3, in which a is from left input and b is from right input. If this > function f is not splittable, such that we cannot move a or b to right side > of equation, then we cannot support this clause in BeamSQL's join. -- This message was sent by Atlassian Jira (v8.3.4#803005)