You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Qiping Li (JIRA)" <ji...@apache.org> on 2015/04/28 05:53:05 UTC
[jira] [Created] (SPARK-7181) External Sorter merge with
aggregation doesn't aggregate all the values for the same key when we have
a total ordering
Qiping Li created SPARK-7181:
--------------------------------
Summary: External Sorter merge with aggregation doesn't aggregate all the values for the same key when we have a total ordering
Key: SPARK-7181
URL: https://issues.apache.org/jira/browse/SPARK-7181
Project: Spark
Issue Type: Bug
Components: Spark Core
Affects Versions: 1.3.1
Reporter: Qiping Li
Priority: Critical
Fix For: 1.3.2, 1.4.0
In the function {{mergeWithAggregation}} of {{ExternalSorter.scala}}, when there is a total ordering for keys K, values of the same key in the sorted iterator should be combined. Currently this is done by this:
{code}
val elem = sorted.next()
val k = elem._1
var c = elem._2
while (sorted.hasNext && sorted.head._1 == k) {
c = mergeCombiners(c, sorted.head._2)
}
{code}
This will only combine the first two values with the same key, which is not what expected.So in the while loop, we should call {{sorted.next()}} to combine other values too.
--
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