You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Yin Huai (JIRA)" <ji...@apache.org> on 2015/07/22 20:34:06 UTC

[jira] [Created] (SPARK-9257) Fix the false negative of Aggregate2Sort and FinalAndCompleteAggregate2Sort's missingInput

Yin Huai created SPARK-9257:
-------------------------------

             Summary: Fix the false negative of Aggregate2Sort and FinalAndCompleteAggregate2Sort's missingInput
                 Key: SPARK-9257
                 URL: https://issues.apache.org/jira/browse/SPARK-9257
             Project: Spark
          Issue Type: Sub-task
          Components: SQL
            Reporter: Yin Huai


{code}
sqlContext.sql(
   """
  |SELECT sum(value)
  |FROM agg1
  |GROUP BY key
  """.stripMargin).explain()

== Physical Plan ==
Aggregate2Sort Some(List(key#510)), [key#510], [(sum(CAST(value#511, LongType))2,mode=Final,isDistinct=false)], [sum(CAST(value#511, LongType))#1435L], [sum(CAST(value#511, LongType))#1435L AS _c0#1426L]
 ExternalSort [key#510 ASC], false
  Exchange hashpartitioning(key#510)
   Aggregate2Sort None, [key#510], [(sum(CAST(value#511, LongType))2,mode=Partial,isDistinct=false)], [currentSum#1433L], [key#510,currentSum#1433L]
    ExternalSort [key#510 ASC], false
     PhysicalRDD [key#510,value#511], MapPartitionsRDD[97] at apply at Transformer.scala:22

sqlContext.sql(
  """
  |SELECT sum(distinct value)
  |FROM agg1
  |GROUP BY key
  """.stripMargin).explain()

== Physical Plan ==
!FinalAndCompleteAggregate2Sort [key#510,CAST(value#511, LongType)#1446L], [key#510], [(sum(CAST(value#511, LongType)#1446L)2,mode=Complete,isDistinct=false)], [sum(CAST(value#511, LongType))#1445L], [sum(CAST(value#511, LongType))#1445L AS _c0#1438L]
 Aggregate2Sort Some(List(key#510)), [key#510,CAST(value#511, LongType)#1446L], [key#510,CAST(value#511, LongType)#1446L]
  ExternalSort [key#510 ASC,CAST(value#511, LongType)#1446L ASC], false
   Exchange hashpartitioning(key#510)
    !Aggregate2Sort None, [key#510,CAST(value#511, LongType) AS CAST(value#511, LongType)#1446L], [key#510,CAST(value#511, LongType)#1446L]
     ExternalSort [key#510 ASC,CAST(value#511, LongType) AS CAST(value#511, LongType)#1446L ASC], false
      PhysicalRDD [key#510,value#511], MapPartitionsRDD[102] at apply at Transformer.scala:22
{code}

For examples shown above, you can see there is a {{!}} at the bingeing of the operator's {{simpleString}}), which indicates that its {{missingInput}} is not empty. Actually, it is a false negative and we need to fix it.

Also, it will be good to make these two operators' {{simpleString}} more reader friendly (people can tell what are grouping expressions, what are aggregate functions, and what is the mode of an aggregate function).



--
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