-
Notifications
You must be signed in to change notification settings - Fork 28.1k
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
[SPARK-34807][SQL] Transpose Window nodes with Project between them #31980
Conversation
cc @wangyum |
Kubernetes integration test starting |
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/Optimizer.scala
Show resolved
Hide resolved
Kubernetes integration test status failure |
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/Optimizer.scala
Show resolved
Hide resolved
Test build #136594 has finished for PR 31980 at commit
|
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/Optimizer.scala
Outdated
Show resolved
Hide resolved
Kubernetes integration test starting |
Kubernetes integration test status failure |
Test build #136604 has finished for PR 31980 at commit
|
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/Optimizer.scala
Show resolved
Hide resolved
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/Optimizer.scala
Show resolved
Hide resolved
Kubernetes integration test unable to build dist. exiting with code: 1 |
Test build #136616 has finished for PR 31980 at commit
|
This looks fine too but it would be great if we can have a sign-off from @hvanhovell too .. he has much better insight than I have |
Kubernetes integration test starting |
Kubernetes integration test status failure |
Test build #136847 has finished for PR 31980 at commit
|
Test build #136879 has finished for PR 31980 at commit
|
Kubernetes integration test unable to build dist. exiting with code: 1 |
Test build #138877 has finished for PR 31980 at commit
|
Test build #139691 has started for PR 31980 at commit |
Kubernetes integration test starting |
Kubernetes integration test status success |
Kubernetes integration test starting |
Kubernetes integration test status success |
Test build #139881 has finished for PR 31980 at commit
|
@maropu |
Kubernetes integration test starting |
Kubernetes integration test status failure |
Test build #140223 has finished for PR 31980 at commit
|
Merged to master. |
…995) Extend the `TransposeWindow` rule to transpose `Window` nodes, that have `Project` between them. The analyzer will turn a `dataset.withColumn("colName", expressionWithWindowFunction)` method call to a `Project - Window - Project` chain in the logical plan. When this method is called multiple times in a row, then the projects can block the `Window` nodes from being transposed by the current `TransposeWindow` rule. TPCDS q47 and q57 are also improved by this. No UT Closes #31980 from tanelk/SPARK-34807_transpose_window. Lead-authored-by: tanel.kiis@gmail.com <tanel.kiis@gmail.com> Co-authored-by: Tanel Kiis <tanel.kiis@gmail.com> Signed-off-by: Yuming Wang <yumwang@ebay.com> Co-authored-by: Tanel Kiis <tanel.kiis@gmail.com>
What changes were proposed in this pull request?
Extend the
TransposeWindow
rule to transposeWindow
nodes, that haveProject
between them.Why are the changes needed?
The analyzer will turn a
dataset.withColumn("colName", expressionWithWindowFunction)
method call to aProject - Window - Project
chain in the logical plan. When this method is called multiple times in a row, then the projects can block theWindow
nodes from being transposed by the currentTransposeWindow
rule.TPCDS q47 and q57 are also improved by this.
Does this PR introduce any user-facing change?
No
How was this patch tested?
UT