Apache Spark ML vs Flink ML I'm sorry, if I ask my question by the wrong community. 
What is a difference between Spark ML and Flink ML and between Spark and Flink in general? The both projects are the projects of Apache, I would like to know why Foundation has two similar projects.

PS I have found some interesting article Fast Big Data: Apache Flink vs Apache Spark for Streaming Data
It has answers on my question.

PPS This question has been already discussed by Stack Overflow community. The topic is What is the difference between Apache Spark and Apache Flink
Both Spark and Flink are designed to process data in batch or stream over distributed environment. 


Flink primarily being defined as its ability to process streaming data in real time and being considered as good option for processing low data latency data and high fault tolerance on distributed systems on a large scale.
However, Spark is utilized predominantly in the case of batch processing over distributed environment.
Spark do have streaming API on the other hand but Flink is getting more traction for executing this need.
Flink can be utilized on local JVM,  standalone, Yarn and cloud similarly Spark can be deployed over local, standalone, Yarn, Mesos.


There are many more difference between these two. I found some really interesting answers for your question on Quora, have a look-


Differences between Apache Spark and Apache Flink - 1
Difference between Apache Flink and Apache Spark - 2
Difference between Hadoop, spark, flink


Hope it helps!