Flink与Kylin深度实践
上QQ阅读APP看书,第一时间看更新

1.2 Flink的特性

Flink作为新一代的大数据计算框架,其各种新特性让人眼前一亮,并且对于实时处理Flink框架有自己独特的实现方式。接下来了解一下Flink的各种新特性。

1)有状态计算的exactly-once语义。状态是指Flink能够维护数据在时序上的聚类和聚合,同时它的检查点(checkpoint)机制可以方便、快速地做出失败重试。

2)支持带有事件时间(event time)语义的流式处理和窗口(window)处理。事件时间的语义使流计算的结果更加精确,尤其是在事件无序或者延迟的情况下。

3)支持高度灵活的窗口可以方便、快速地做出失败重试操作。包括基于time、count、session,以及data-driven的窗口操作,能很好地对现实环境中创建的数据进行建模。

4)轻量的容错处理(fault tolerance)。它使得系统既能保持高吞吐率又能保证exactlyonce的一致性,通过轻量的state snapshots实现。

5)支持高吞吐、低延迟、高性能的流式处理。

6)支持保存点(savepoint)机制(一般为手动触发)。即可以将应用的运行状态保存下来,在升级应用或者处理历史数据时能够做到无状态丢失和停机时间最小。

7)支持大规模的集群模式。支持YARN、Mesos,可运行在成千上万的节点上。

8)支持具有背压(backpressure)功能的持续流模型。

9)支持迭代计算。

10)JVM内部实现了自己的内存管理。它支持程序自动优化,例如能避免特定情况下的Shuffle、排序等昂贵操作,能对中间结果进行缓存。