You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Michael Armbrust (JIRA)" <ji...@apache.org> on 2015/09/16 20:29:46 UTC

[jira] [Resolved] (SPARK-10504) aggregate where NULL is defined as the value expression aborts when SUM used

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

Michael Armbrust resolved SPARK-10504.
--------------------------------------
       Resolution: Fixed
         Assignee: Yin Huai
    Fix Version/s: 1.5.0

> aggregate where NULL is defined as the value expression aborts when SUM used
> ----------------------------------------------------------------------------
>
>                 Key: SPARK-10504
>                 URL: https://issues.apache.org/jira/browse/SPARK-10504
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 1.3.1, 1.4.1
>            Reporter: N Campbell
>            Assignee: Yin Huai
>            Priority: Minor
>             Fix For: 1.5.0
>
>
> In ISO-SQL the context would determine an implicit type for NULL or one might find that a vendor requires an explicit type via CAST ( NULL as INTEGER). It appears that SPARK presumes a long type i.e. select min(NULL), max(NULL) but a query such the following aborts.
>  
> {{select sum ( null  )  from tversion}}
> {code}
> Operation: execute
> Errors:
> org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 5232.0 failed 4 times, most recent failure: Lost task 0.3 in stage 5232.0 (TID 18531, sandbox.hortonworks.com): scala.MatchError: NullType (of class org.apache.spark.sql.types.NullType$)
> 	at org.apache.spark.sql.catalyst.expressions.Cast.org$apache$spark$sql$catalyst$expressions$Cast$$cast(Cast.scala:403)
> 	at org.apache.spark.sql.catalyst.expressions.Cast.cast$lzycompute(Cast.scala:422)
> 	at org.apache.spark.sql.catalyst.expressions.Cast.cast(Cast.scala:422)
> 	at org.apache.spark.sql.catalyst.expressions.Cast.eval(Cast.scala:426)
> 	at org.apache.spark.sql.catalyst.expressions.Coalesce.eval(nullFunctions.scala:51)
> 	at org.apache.spark.sql.catalyst.expressions.Add.eval(arithmetic.scala:119)
> 	at org.apache.spark.sql.catalyst.expressions.Coalesce.eval(nullFunctions.scala:51)
> 	at org.apache.spark.sql.catalyst.expressions.MutableLiteral.update(literals.scala:82)
> 	at org.apache.spark.sql.catalyst.expressions.SumFunction.update(aggregates.scala:581)
> 	at org.apache.spark.sql.execution.Aggregate$$anonfun$execute$1$$anonfun$6.apply(Aggregate.scala:133)
> 	at org.apache.spark.sql.execution.Aggregate$$anonfun$execute$1$$anonfun$6.apply(Aggregate.scala:126)
> 	at org.apache.spark.rdd.RDD$$anonfun$14.apply(RDD.scala:634)
> 	at org.apache.spark.rdd.RDD$$anonfun$14.apply(RDD.scala:634)
> 	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:35)
> 	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:277)
> 	at org.apache.spark.rdd.RDD.iterator(RDD.scala:244)
> 	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:35)
> 	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:277)
> 	at org.apache.spark.rdd.RDD.iterator(RDD.scala:244)
> 	at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:68)
> 	at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:41)
> 	at org.apache.spark.scheduler.Task.run(Task.scala:64)
> 	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:203)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org