[
https://issues.apache.org/jira/browse/SPARK-10429?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14742251#comment-14742251
]
Yin Huai edited comment on SPARK-10429 at 9/12/15 10:50 PM:
[Here |
https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateMutableProjection.scala#L41-L66]
and [here |
https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Projection.scala#L79-L87]
are places that needs to be changed.
The main work is to handle cases when [we need to split generated
code|https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateMutableProjection.scala#L66].
When we need to split generated code, we need to [create mutable
states|https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodeGenerator.scala#L80-L82]
for evaluated expression result.
was (Author: yhuai):
[Here |
https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateMutableProjection.scala#L41-L66]
and [here |
https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Projection.scala#L79-L87]
are places that needs to be changed.
> MutableProjection should evaluate all expressions first and then update the
> mutable row
> ---
>
> Key: SPARK-10429
> URL: https://issues.apache.org/jira/browse/SPARK-10429
> Project: Spark
> Issue Type: Sub-task
> Components: SQL
>Reporter: Yin Huai
>Priority: Blocker
>
> Right now, SQL's mutable projection updates every value of the mutable
> project after it evaluates the corresponding expression. This makes the
> behavior of MutableProjection confusing and complicate the implementation of
> common aggregate functions like stddev because developers need to be aware
> that when evaluating {{i+1}}th expression of a mutable projection, {{i}}th
> slot of the mutable row has already been updated.
> A better behavior of MutableProjection will be that we evaluate all
> expressions first and then update all values of the mutable row.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
-
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org