全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  应聘面试  >  大数据面试题

Flink支持的时间语义 ?

发布时间:2022-09-02 16:59:31
发布人:wjy

Spark Streaming只支持 Processing Time, Flink 支持三种时间语义, Processing Time, Event Time, Ingestion Time 

- Processing Time 数据被处理时服务器的当前系统时间,这种时间语义比较常用,一般用于对时序性和准确性要求不太高的场景 

- 最简单的Time概念,对于程序来说拥有最好的性能和最低的延迟。 

- 分布式和异步环境下,不能保证结果数据的准确性,存在时序问题。 

- 数据延迟对Flink的输出结果影响比较大。

- Event Time 事件发生的时间,是一条数据本身携带的时间字段。有时序要求,比如必须现有下单,再有支付等有先后关系的业务场景。

- 这种时间来自于数据本身,在事件到达Flink之前就已经确定。

- 必须指定如何生成WaterMarks,用来表示Event Time进度的机制。 

- 无论事件什么时候到达或者其怎么排序,最后处理Event Time将产生完全一致和确定的结果,可以解决时序问题。

- Ingestion Time事件进入数据源(Flink Source)的时间。

介于Event Time和Processing Time之间,与Processing Time相比会自动生成并使用稳定的时间戳,虽然有一定成本,单结果更可预测,与Event Time相比无法处理无序事件或延迟数据,但是Ingestion Time不必指定如何生成水印,具有自动分配时间戳和自动生成水印功能。

Flink支持的时间语义

相关文章

大数据kafka常见面试题——如何搭建kafka?

2023-08-07

大数据kafka常见面试题——kafka中如何避免重复消费

2023-08-04

大数据面试题之多种方法创建dataframe

2023-08-02

大数据Hadoop面试题——Hadoop干什么用的?

2023-08-01

大数据行业2年工作经验的面试题有哪些?

2023-07-28

大数据kafka面试题——kafka和flume的区别是什么?

2023-07-27
在线咨询 免费试学 教程领取