[
https://issues.apache.org/jira/browse/FLINK-5768?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15888225#comment-15888225
]
ASF GitHub Bot commented on FLINK-5768:
---------------------------------------
Github user fhueske commented on a diff in the pull request:
https://github.com/apache/flink/pull/3423#discussion_r103474983
--- Diff:
flink-libraries/flink-table/src/main/scala/org/apache/flink/table/runtime/aggregate/DataSetSessionWindowAggregateReduceGroupFunction.scala
---
@@ -104,21 +110,27 @@ class
DataSetSessionWindowAggregateReduceGroupFunction(
// calculate the current window and open a new window
if (null != windowEnd) {
// evaluate and emit the current window's result.
- doEvaluateAndCollect(out, windowStart, windowEnd)
+ doEvaluateAndCollect(out, accumulatorList, windowStart,
windowEnd)
+
+ // clear the accumulator list for all aggregate
+ for (i <- aggregates.indices) {
+ accumulatorList(i).clear()
+ }
} else {
// set group keys value to final output.
groupKeysMapping.foreach {
case (after, previous) =>
output.setField(after, record.getField(previous))
}
}
- // initiate intermediate aggregate value.
- aggregates.foreach(_.initiate(aggregateBuffer))
+
windowStart =
record.getField(intermediateRowWindowStartPos).asInstanceOf[Long]
}
- // merge intermediate aggregate value to the buffered value.
- aggregates.foreach(_.merge(record, aggregateBuffer))
+ // collect the accumulators for each aggregate
+ for (i <- aggregates.indices) {
+ accumulatorList(i).add(record.getField(accumStartPos +
i).asInstanceOf[Accumulator])
--- End diff --
Pairwise merging
> Apply new aggregation functions for datastream and dataset tables
> -----------------------------------------------------------------
>
> Key: FLINK-5768
> URL: https://issues.apache.org/jira/browse/FLINK-5768
> Project: Flink
> Issue Type: Sub-task
> Components: Table API & SQL
> Reporter: Shaoxuan Wang
> Assignee: Shaoxuan Wang
>
> Apply new aggregation functions for datastream and dataset tables
> This includes:
> 1. Change the implementation of the DataStream aggregation runtime code to
> use new aggregation functions and aggregate dataStream API.
> 2. DataStream will be always running in incremental mode, as explained in
> 06/Feb/2017 in FLINK5564.
> 2. Change the implementation of the Dataset aggregation runtime code to use
> new aggregation functions.
> 3. Clean up unused class and method.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)