深入理解Flink:实时大数据处理实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1 Flink概述

从互联网时代的数据爆炸,到即将大规模铺开的 5G 通信支撑的物联网时代的大数据浩海,赋能工具的大规模数据处理技术架构起到了决定性的作用,反过来也推动了技术架构的与时俱进。

作为低延迟、高吞吐、统一流处理和批处理的大数据计算引擎,Flink正成为实时流式数据处理应用的首选数据处理框架,其主要特征如下:

● 支持高吞吐、低延迟、高性能的流式数据处理,而不是用批处理模拟流处理。

● 支持多种时间窗口,如事件时间窗口、处理时间窗口。

● 支持exactly-once语义。

● 具有轻量级容错机制。

● 同时支持批处理和流处理。

● 在JVM(Java虚拟机,Java Virtual Machine)层实现内存优化与管理。

● 支持迭代计算。

● 支持程序自动优化。

此外,不仅提供流处理 API、批处理 API,还提供基于这两层 API 的高层数据处理库,包括:

● 机器学习库(FlinkML)。

● 流式关系型API(Table/SQL)。

● CEP.

● 图分析(Gelly)。

而且,数据处理应用程序可以选择用Java语言或Scala语言编写,降低了应用程序的编程门槛。