Hi all,

I'm working on a simple Beam app which should compute an exponential
weighted moving average on a stream of data, by key. The data is windowed
at a fixed interval, the count of the elements is taken per-key, and then
this count should be utilized to update the moving average. This requires
maintaining state (local to each JVM instance/per-key) in the form of the
result of the previous computation. Either a key-value based state store
(as is available in Flink) or an implementation of scan semantics (where
the result of the previous computation is passed as the initial value to
the next invocation) would work; however, there does not seem to be a way
to achieve either of these with the Beam API as it currently stands.

I noticed a related JIRA issue (
https://issues.apache.org/jira/browse/BEAM-25) but it seems no progress has
been made. Is there vision/roadmap for this API? I would be happy to
contribute to the project by beginning an implementation and would love to
collaborate with anyone already working toward this goal.

Thanks!
David Desberg

Reply via email to