The main difference between Spark and Flink lies in their processing model. On one hand, Flink has a true stream processing engine, and on the other Spark works with the micro-batch model. Furthermore, Flink processes streaming data in real-time, while Spark relies on micro-batch processing. As a result, Flink has an edge over Spark when it comes to latency.
Here is a video tutorial which you can watch to learn more about spark:-