上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.2.9 Flink
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎,用于对有界和无界的数据流进行有状态计算。Flink可在常见的集群环境中运行,以内存速度和任意规模执行计算。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时,系统可以执行批处理和流处理程序,具备高吞吐、低延迟、高性能的计算能力。
Flink具备以下优秀特性[16]。
(1)支持高吞吐、低延迟、高性能的流式数据处理,而不是用批处理模拟流式处理。
(2)支持多种时间窗口,如事件时间窗口、处理时间窗口。
(3)支持exactly-once语义。
(4)具有轻量级容错机制。
(5)同时支持批处理和流处理。
(6)在JVM层实现内存优化与管理。
(7)支持迭代计算。
(8)支持程序自动优化。
(9)不仅提供流式处理API、批处理API,还提供基于这两层API的高层的数据处理库。
Flink主要应用场景如下[17]。
(1)实时推荐。
(2)复杂事件处理。
(3)实时欺诈检测。
(4)实时数据仓库与ETL。
(5)流数据分析。
(6)实时报表分析。