Apache flink is an open-source, distributed query engine that can process batch as well as streaming data.
Apache-spark is used for batch processing whereas flink is used for real-time stream processing
Flink can be deployed on VMS, docker and Kubernetes
In flink, a user can write code in java, scala, and python.
Flink consists of two data abstractions DataStream and DataSet.
DataSet is used for a bounded stream whereas DataStream is used for a continuous stream.
Flink is very fast and it can process TBs of data in a few minutes.
Flink provides libraries for machine learning(Flink ML), graph(Gelly), and SQL(Tables)