@Pablo: Thanks for following up with the PR! :)
@Brian: I was wondering about this as well. It makes the Python state
code a bit unnatural. I'd suggest to add a ValueState wrapper around
ListState/CombiningState.
@Robert: Like Reuven pointed out, we can disallow ValueState for merging
windows with state.
@Reza: Great. Let's make sure it has Python examples out of the box.
Either Pablo or me could help there.
Thanks,
Max
On 25.04.19 04:14, Reza Ardeshir Rokni wrote:
Pablo, Kenneth and I have a new blog ready for publication which covers
how to create a "looping timer" it allows for default values to be
created in a window when no incoming elements exists. We just need to
clear a few bits before publication, but would be great to have that
also include a python example, I wrote it in java...
Cheers
Reza
On Thu, 25 Apr 2019 at 04:34, Reuven Lax <re...@google.com
<mailto:re...@google.com>> wrote:
Well state is still not implemented for merging windows even for
Java (though I believe the idea was to disallow ValueState there).
On Wed, Apr 24, 2019 at 1:11 PM Robert Bradshaw <rober...@google.com
<mailto:rober...@google.com>> wrote:
It was unclear what the semantics were for ValueState for merging
windows. (It's also a bit weird as it's inherently a race condition
wrt element ordering, unlike Bag and CombineState, though you can
always implement it as a CombineState that always returns the latest
value which is a bit more explicit about the dangers here.)
On Wed, Apr 24, 2019 at 10:08 PM Brian Hulette
<bhule...@google.com <mailto:bhule...@google.com>> wrote:
>
> That's a great idea! I thought about this too after those
posts came up on the list recently. I started to look into it,
but I noticed that there's actually no implementation of
ValueState in userstate. Is there a reason for that? I started
to work on a patch to add it but I was just curious if there was
some reason it was omitted that I should be aware of.
>
> We could certainly replicate the example without ValueState
by using BagState and clearing it before each write, but it
would be nice if we could draw a direct parallel.
>
> Brian
>
> On Fri, Apr 12, 2019 at 7:05 AM Maximilian Michels
<m...@apache.org <mailto:m...@apache.org>> wrote:
>>
>> > It would probably be pretty easy to add the corresponding
code snippets to the docs as well.
>>
>> It's probably a bit more work because there is no section
dedicated to
>> state/timer yet in the documentation. Tracked here:
>> https://jira.apache.org/jira/browse/BEAM-2472
>>
>> > I've been going over this topic a bit. I'll add the
snippets next week, if that's fine by y'all.
>>
>> That would be great. The blog posts are a great way to get
started with
>> state/timers.
>>
>> Thanks,
>> Max
>>
>> On 11.04.19 20:21, Pablo Estrada wrote:
>> > I've been going over this topic a bit. I'll add the
snippets next week,
>> > if that's fine by y'all.
>> > Best
>> > -P.
>> >
>> > On Thu, Apr 11, 2019 at 5:27 AM Robert Bradshaw
<rober...@google.com <mailto:rober...@google.com>
>> > <mailto:rober...@google.com <mailto:rober...@google.com>>>
wrote:
>> >
>> > That's a great idea! It would probably be pretty easy
to add the
>> > corresponding code snippets to the docs as well.
>> >
>> > On Thu, Apr 11, 2019 at 2:00 PM Maximilian Michels
<m...@apache.org <mailto:m...@apache.org>
>> > <mailto:m...@apache.org <mailto:m...@apache.org>>> wrote:
>> > >
>> > > Hi everyone,
>> > >
>> > > The Python SDK still lacks documentation on state
and timers.
>> > >
>> > > As a first step, what do you think about updating
these two blog
>> > posts
>> > > with the corresponding Python code?
>> > >
>> > >
https://beam.apache.org/blog/2017/02/13/stateful-processing.html
>> > >
https://beam.apache.org/blog/2017/08/28/timely-processing.html
>> > >
>> > > Thanks,
>> > > Max
>> >