Re: KeyedSream question

2018-04-06 Thread Shailesh Jain
I have a question related to KeyedStream, asking it here instead of starting a new thread. If I assign timestamps on a keyed stream, the resulting stream is not keyed. So essentially I would need to apply the key by operator again after the assign timestamps operator. Why should assigning

Re: KeyedSream question

2018-04-06 Thread Michael Latta
Yes. It took a bit of digging in the website to find RichFlatMapFunction to get managed state. Michael Sent from my iPad > On Apr 6, 2018, at 3:29 AM, Fabian Hueske wrote: > > Hi, > > I think Flink is exactly doing what you are looking for. > If you use keyed state [1],

Re: KeyedSream question

2018-04-06 Thread Fabian Hueske
Hi, I think Flink is exactly doing what you are looking for. If you use keyed state [1], Flink will put the state always in the context of the key of the currently processed record. So if you have a MapFunction with keyed state, and the map() method is called with a record that has a key A, the

Re: KeyedSream question

2018-04-05 Thread Michael Latta
Thanks for the clarification. I was just trying to understand the intended behavior. It would have been nice if Flink tracked state for downstream operators by key, but I can do that with a map in the downstream functions. Michael Sent from my iPad > On Apr 5, 2018, at 2:30 AM, Fabian Hueske

Re: KeyedSream question

2018-04-05 Thread Fabian Hueske
Amit is correct. keyBy() ensures that all records with the same key are processed by the same paralllel instance of a function. This is different from "a parallel instance only sees records of one key". I had a look at the docs [1]. I agree that "Logically partitions a stream into disjoint

Re: KeyedSream question

2018-04-04 Thread Amit Jain
Hi, KeyBy operation partition the data on given key and make sure same slot will get all future data belonging to same key. In default implementation, it can also map subset of keys in your DataStream to same slot. Assuming you have number of keys equal to number running slot then you may