Re: Some thoughts about the lower-level Flink APIs

2016-08-17 Thread xiaogang.sxg
I think it’s better to provide lower-level APIs. Though high-level APIs are preferred by many users, but lower-level APIs are still needed to enhance the expressiveness and ease the optimization. Flink APIs now provide good abstraction for many operations, but higher abstraction always means p

Re: Some thoughts about the lower-level Flink APIs

2016-08-17 Thread Stephan Ewen
I do actually think that all levels of abstraction have their value. If you wish, we have (top to bottom): (1) SQL (2) Table API with simplified Stream/Table duality (3) DataStream API / windows (4) DataStream API with custom windows and triggers (5) Custom Operators The Data Scientist may n

Re: Some thoughts about the lower-level Flink APIs

2016-08-17 Thread Martin Neumann
I agree with Vasia that for data scientist it's likely easier to learn the high-level api. I like the material from http://dataartisans.github.io/flink-training/ but all of them focus on the high level api. Maybe we could have a guide (blog post, lecture, whatever) on how to get into Flink as a St

Re: Some thoughts about the lower-level Flink APIs

2016-08-16 Thread Wright, Eron
Jamie, I think you raise a valid concern but I would hesitate to accept the suggestion that the low-level API be promoted to app developers. Higher-level abstractions tend to be more constrained and more optimized, whereas lower-level abstractions tend to be more powerful, be more laborious to

Re: Some thoughts about the lower-level Flink APIs

2016-08-16 Thread Vasiliki Kalavri
Hi Jamie, thanks for sharing your thoughts on this! You're raising some interesting points. Whether users find the lower-level primitives more intuitive depends on their background I believe. From what I've seen, if users are coming from the S4/Storm world and are used to the "compositional" way

Re: Some thoughts about the lower-level Flink APIs

2016-08-15 Thread Jamie Grier
You lost me at lattice, Aljoscha ;) I do think something like the more powerful N-way FlatMap w/ Timers Aljoscha is describing here would probably solve most of the problem. Often Flink's higher level primitives work well for people and that's great. It's just that I also spend a fair amount of t

Re: Some thoughts about the lower-level Flink APIs

2016-08-15 Thread Till Rohrmann
Hi, I'm also not sure whether we should start teaching Flink by demonstrating the low-level APIs. According to my experience, people new to Flink should first learn a very basic set of primitive operations. Usually this is map, flatmap, join, windows, etc. The semantics of these operations is well

Re: Some thoughts about the lower-level Flink APIs

2016-08-15 Thread Aljoscha Krettek
Hi All, I also thought about this recently. A good think would be to add a good user facing operator that behaves more or less like an enhanced FlatMap with multiple inputs, multiple outputs, state access and keyed timers. I'm a bit hesitant, though, since users rarely think about the implications

Re: Some thoughts about the lower-level Flink APIs

2016-08-14 Thread Matthias J. Sax
It really depends on the skill level of the developer. Using low-level API requires to think about many details (eg. state handling etc.) that could be done wrong. As Flink gets a broader community, more people will use it who might not have the required skill level to deal with low-level API. For

Re: Some thoughts about the lower-level Flink APIs

2016-08-14 Thread Gyula Fóra
Hi Jamie, I agree that it is often much easier to work on the lower level APIs if you know what you are doing. I think it would be nice to have very clean abstractions on that level so we could teach this to the users first but currently I thinm its not easy enough to be good starting point. The