You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "Debasish Das (JIRA)" <ji...@apache.org> on 2018/06/09 20:21:00 UTC
[jira] [Commented] (BEAM-3737) Key-aware batching function
[ https://issues.apache.org/jira/browse/BEAM-3737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16507150#comment-16507150 ]
Debasish Das commented on BEAM-3737:
------------------------------------
I saw this is being mentioned in TFMA...I am also not clear why BatchElements() is needed....groupByKey takes combiner which should run on both map and reduce side...Am I missing something here ? Is it the case that beam Combiner does not run on map side ? [~robertwb] is that why you mentioned that we should run the combiner upfront in ParDo and then run groupByKey to achieve map and reduce side combine ?
> Key-aware batching function
> ---------------------------
>
> Key: BEAM-3737
> URL: https://issues.apache.org/jira/browse/BEAM-3737
> Project: Beam
> Issue Type: New Feature
> Components: sdk-py-core
> Reporter: Chuan Yu Foo
> Priority: Major
>
> I have a CombineFn for which add_input has very large overhead. I would like to batch the incoming elements into a large batch before each call to add_input to reduce this overhead. In other words, I would like to do something like:
> {{elements | GroupByKey() | BatchElements() | CombineValues(MyCombineFn())}}
> Unfortunately, BatchElements is not key-aware, and can't be used after a GroupByKey to batch elements per key. I'm working around this by doing the batching within CombineValues, which makes the CombineFn rather messy. It would be nice if there were a key-aware BatchElements transform which could be used in this context.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)