beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Halperin (JIRA)" <>
Subject [jira] [Commented] (BEAM-68) Support for limiting parallelism of a step
Date Thu, 31 Mar 2016 05:06:25 GMT


Daniel Halperin commented on BEAM-68:

Eugene: I disagree with the premise that even the group by key trick works without runner
support. Fusion breaks and dynamic work rebalancing violate all such assumptions. Model changes
are all that will guarantee anything here.

> Support for limiting parallelism of a step
> ------------------------------------------
>                 Key: BEAM-68
>                 URL:
>             Project: Beam
>          Issue Type: New Feature
>          Components: beam-model
>            Reporter: Daniel Halperin
> Users may want to limit the parallelism of a step. Two classic uses cases are:
> - User wants to produce at most k files, so sets TextIO.Write.withNumShards(k).
> - External API only supports k QPS, so user sets a limit of k/(expected QPS/step) on
the ParDo that makes the API call.
> Unfortunately, there is no way to do this effectively within the Beam model. A GroupByKey
with exactly k keys will guarantee that only k elements are produced, but runners are free
to break fusion in ways that each element may be processed in parallel later.
> To implement this functionaltiy, I believe we need to add this support to the Beam Model.

This message was sent by Atlassian JIRA

View raw message