Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。[2][3]Flink以数据并行和管道方式执行任意流数据程序[4],Flink的流水线运行时系统可以执行批处理和流处理程序。[5][6]此外,Flink的运行时本身也支持迭代算法的执行。[7]
Flink提供高吞吐量、低延迟的流数据引擎[8]以及对事件-时间处理和状态管理的支持。Flink应用程序在发生机器故障时具有容错能力,并且支持exactly-once语义。[9]程序可以用Java、Scala[10]、Python[11]和SQL[12]等语言编写,并自动编译和优化[13]到在集群或云环境中运行的数据流程序。[14]
Flink并不提供自己的数据存储系统,但为Amazon Kinesis、Apache Kafka、Alluxio、HDFS、Apache Cassandra和Elasticsearch等系统提供了数据源和接收器。