Most I have found are light in actual contrast detail.
Most I have found are light in actual contrast detail.
We also did a podcast about it if you're interested in digging deeper -- http://softwareengineeringdaily.com/2016/02/03/benchmarking-...
[1] http://www.slideshare.net/ssuser6bb12d/a-comparative-perform...
I believe, Flink tried to focus on query language and optimization, as you probably would in a database settings. In contrast, Spark is sometimes described as a batch processing system, which provides a real-time experience by intelligently partitioning the work.
Most of the streaming tech and developments in Flink are very disconnected from that and have little to do with database tech any more, actually.
Here is for example a video walkthrough by MapR: https://www.mapr.com/blog/apache-spark-vs-apache-flink-white...
Inside a data flow program, the scheduler tries to schedule as local as possible.
For the inputs to a streaming program (for example Kafka partitions), there is currently no locality consideration, but the locality there changes throughout a program lifetime anyways (brokers change leadership and rebalance)
Flink's DataSet API does assign data to tasks after the scheduling. That assignment respects locality, actually. That lazy assignment makes it possible to handle large numbers of small files, for example.