Flink comes from a more database oriented background. It grew out of research project at TU Berlin[1].
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.