[ https://issues.apache.org/jira/browse/KAFKA-3104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15102551#comment-15102551 ]
ASF GitHub Bot commented on KAFKA-3104: --------------------------------------- GitHub user guozhangwang opened a pull request: https://github.com/apache/kafka/pull/781 [WIP] KAFKA-3104: add windowed aggregation to KStream You can merge this pull request into a Git repository by running: $ git pull https://github.com/guozhangwang/kafka K3104 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/781.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #781 ---- commit bf4c4cb3dbb5b4066d9c3e0ada5b7ffd98eb129a Author: Guozhang Wang <wangg...@gmail.com> Date: 2016-01-14T20:27:58Z add internal source topic for tracking commit 1485dff08a76c6ff685b0fe72226ce3b629b1d3c Author: Guozhang Wang <wangg...@gmail.com> Date: 2016-01-14T22:32:08Z minor fix for this.interSourceTopics commit 60cafd0885c41f93e408f8d89880187ddec789a1 Author: Guozhang Wang <wangg...@gmail.com> Date: 2016-01-15T01:09:00Z add KStream windowed aggregation commit 983a626008d987828deabe45d75e26e909032843 Author: Guozhang Wang <wangg...@gmail.com> Date: 2016-01-15T01:34:56Z merge from apache trunk commit 57051720de4238feb4dc3c505053096042a87d9c Author: Guozhang Wang <wangg...@gmail.com> Date: 2016-01-15T21:38:53Z v1 commit 4a49205fcab3a05ed1fd05a34c7a9a92794b992d Author: Guozhang Wang <wangg...@gmail.com> Date: 2016-01-15T22:07:17Z minor fix on HoppingWindows ---- > Windowed Stream Aggregation Implementation > ------------------------------------------ > > Key: KAFKA-3104 > URL: https://issues.apache.org/jira/browse/KAFKA-3104 > Project: Kafka > Issue Type: Sub-task > Reporter: Guozhang Wang > Assignee: Guozhang Wang > > Proposed approach: > 1. Add a K-V store with format <key, window> : <agg-value> with Windowed<K> > ser-de and <T> ser-de. > 2. Upon receiving a record forwarded from the upstream processor: > 2.1. First get the mapping window(s) from the context timestamp. > 2.2. For each window, first try fetch from the store, if not exist call > initialValue(). > 2.2. Only call add(..), and never call remove(..) > 2.3. Forward the aggregate value with key Windowed<agg-key> and value > Change<agg-value>. -- This message was sent by Atlassian JIRA (v6.3.4#6332)