-
Notifications
You must be signed in to change notification settings - Fork 242
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEA][Follow On] Support non AST rewrite as join condition #9661
Comments
Regards to "Support conditional equi-joins with non-AST rewrite" above, it seems not applicable to have non-ast-split there. It seems we should close it. Given this Lines 65 to 66 in 792b4c1
And it will be evaluated in separated project nodes for build and stream sides accordingly. Build side: spark-rapids/sql-plugin/src/main/scala/org/apache/spark/sql/rapids/execution/GpuHashJoin.scala Lines 324 to 327 in 792b4c1
Stream side: spark-rapids/sql-plugin/src/main/scala/org/apache/spark/sql/rapids/execution/GpuHashJoin.scala Lines 394 to 398 in 792b4c1
The remain case I came up is that a join condition involves columns across both sides. In that case, it's also not a split-able case. Explained Plan
|
Is your feature request related to a problem? Please describe.
There're some improvements we can make for AST rewrite.
From
spark.time(left.join(right, length(col("leftstr")) + length(col("rightstr")) >= left("id") + right("id"), joinType="leftouter").count())
, it reports following message:It's more straightforward to AST failure reason results from 1) AST not supported by cast; 2) Failed to rewrite AST condition since contains cross childern attributes. Other message can share the same reason (e.g., cannot run on GPU because cast in this case).
Describe the solution you'd like
Extract non AST-able condition and push down to child nodes for conditional equal equal.
Describe alternatives you've considered
More feature coverage in Cudf. But it needs more time and some cases are not likely to be implemented.
Additional context
This is a tracking issue for some follow-ups of #9635 which introduced the AST basic framework and related support on BroadcastNestedLoopJoin.
The text was updated successfully, but these errors were encountered: