Skip to Content
Flink基础教程
book

Flink基础教程

by Ellen Friedman, Kostas Tzoumas
August 2018
Intermediate to advanced
98 pages
2h 11m
Chinese
Posts & Telecom Press
Content preview from Flink基础教程
对时间的处理
41
通常还有第
3
个时间概念,即
摄取时间
,也叫作
进入时间
。它指的是事件
进入流处理框架的时间。缺乏真实事件时间的数据会被流处理器附上时间
戳,即流处理器第一次看到它的时间(这个操作由
source
函数完成,它是
程序的第一个处理节点)。
在现实世界中,许多因素(如连接暂时中断,不同原因导致的网络延迟,
分布式系统中的时钟不同步,数据速率陡增,物理原因,或者运气差)使
得事件时间和处理时间存在偏差(即
事件时间偏差
)。事件时间顺序和处理
时间顺序通常不一致,这意味着事件以乱序到达流处理器。
根据应用程序的不同,两个时间概念都很有用
。有些应用程序(如一些预
警应用程序)需要尽可能快地得到结果,即使有小的误差也没关系。它们
不必等待迟到的事件,因此适合采用处理时间语义。其他一些应用程序
(如欺诈检测系统或者账单系统)则对准确性有要求:只有在时间窗口内发
生的事件才能被算进来。对于这些应用程序来说,事件时间语义才是正确的
选择。也有两者都采用的情况,比如既要准确地计数,又要提供异常预警。
Flink
允许用户根据所需的语义和对准确性的要求选择采用事
件时间、处理时间或摄取时间定义窗口。
当采用事件时间定义窗口时,应用程序可以处理乱序事件流以及变化的事
件时间偏差,并根据事件实际发生的时间计算出有意义的结果。
4.4
 窗口
4.1
节举例说明了如何在
Flink
中定义时间窗口并以小时为单位生成聚合结
果。
窗口
是一种机制,它用于将许多事件按照时间或者其他特征分组,从
而将每一组作为整体进行分析(比如求和)。
4.4.1
 时间窗口 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

机器学习流水线实战

机器学习流水线实战

Hannes Hapke, Catherine Nelson
Kafka权威指南(第2版)

Kafka权威指南(第2版)

Gwen Shapira, Todd Palino, Rajini Sivaram, Krit Petty
Java并发编程实战

Java并发编程实战

Brian Goetz, Tim Peierls

Publisher Resources

ISBN: 9787115490063