大数据采集与处理
上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)实时报表分析。