Flink】flink时间语义有哪些?分别是什么含义?

2021-01-19 09:09发布

flink时间语义有哪些?分别是什么含义?

flink时间语义有哪些?分别是什么含义?

2条回答
人情世故
2楼 · 2021-01-22 16:13

Event Time:是事件创建的时间。它通常由事件中的时间戳描述,例如采集的日志数据中,每一条日志都会记录自己的生成时间,Flink 通过时间戳分配器访问事件时间戳。
Ingestion Time:是数据进入Flink 的时间。
Processing Time:是每一个执行基于时间操作的算子的本地系统时间,与机器相关,默认的时间属性就是Processing Time。

征戰撩四汸
3楼 · 2022-01-20 14:44

  Event Time

  在大数据领域,日志服务器生成的一条数据也可以称为一个事件。Event Time是指在数据产生时该设备上对应的时间,这个时间在进入Flink之前已经存在于数据记录中了。以后数据被Flink处理数据,如果使用Event Time作为时间标准,那么数据并不是按照Event Time的先后顺序被处理的,由于数据可能产生在多个不同的日志服务器,然后通常是再将数据写入到分布性消息中间件,然后被被Flink拉取进行处理时,处理的实际时间相对于数据产生的实际肯定有一定的延迟,并且Event Time可能也是乱序的。那么为什么还要使用Event Time呢?是因为使用Event Time时,Flink程序可以处理乱序事件和延迟数据。并且最重要的功能就是可以统计在数据产生时,对应时间的数据指标。

  Processing Time

  Processing Time是指事件数据被Operator处理时所在机器的系统时间,它提供了最好的性能和最低的延迟。但是,Flink是一个在分布式的计算框架,数据从产生到被处理会有一定的延迟(例如从消息队列拉取数据到Source,Source再到处理的Operator会有一定的延迟),所以Processing Time无法精准的体现出数据在产生的那个时刻的变化情况。

  ngestion Time

  Ingestion Time指的是事件数据进入到Flink的时间。每条数据的Ingestion Time就是进入到Source Operator时所在机器的系统时间。比如Flink从Kafka消息中间件消费数据,每一条数据的Ingestion Time就是FlinkKafkaConsumer拉取数据进入到TaskManager对应的时间。Ingestion Time介于Event Time和Processing Time之间,与 Event Time 相比,Ingestion Time程序无法处理任何无序事件或延迟数据,并且程序不必指定如何生成水,Flink会自动分配时间戳和自动生成水位线。


相关问题推荐

  • 回答 2

    1、Window Assinger是干啥的当你决定stream是否keyby之后,window是没有构建的,你还需要指定一个window Assinger用于定义元素如何分配到窗口中。2、window Assinger如何指定?Keyedstream:window(WindowAssigner)non-keyed streams :windowAll(WindowAssig...

  • 回答 2

    Event Time:是事件创建的时间。它通常由事件中的时间戳描述,例如采集的日志数据中,每一条日志都会记录自己的生成时间,Flink 通过时间戳分配器访问事件时间戳。Ingestion Time:是数据进入Flink 的时间。Processing Time:是每一个执行基于时间操作的算子...

  • 回答 1

    批处理是流处理的一种非常特殊的情况。在流处理中,我们为数据定义滑动窗口或滚动窗口,并且在每次窗口滑动或滚动时生成结果。批处理则不同,我们定义一个全局窗口,所有的记录都属于同一个窗口。...

  • 回答 5

    jobmanager:主节点,类似于spark中的mastertaskManager:从节点,类似于spark中的workerslot:插槽,类似于spark中executor中的线程,只不过flink中的slot是物理存在的,可以手动配置,每个slot执行一个任务,是静态概念,用来隔绝内存。...

  • 回答 1

    配置文件(flink-conf.yaml)要启动HA集群,请将以下配置键添加到 conf/flink-conf.yaml:高可用性模式(必需):在 conf/flink-conf.yaml 中,必须将高可用性模式设置为zookeeper,以打开高可用模式。或者将此选项设置为工厂类的 FQN,Flink 通过创建 HighAva...

  • 回答 4

    1.Zookeeper加强集群稳定性Zookeeper通过一种和文件系统很像的层级命名空间来让分布式进程互相协同工作。这些命名空间由一系列数据寄存器组成,我们也叫这些数据寄存器为znodes。这些znodes就有点像是文件系统中的文件和文件夹。和文件系统不一样的是,文件系...

  • 回答 1

    根据现实的数据产生方式和数据产生是否含有边界(具有起始点和终止点)角度,将数据分为两种类型的数据集----一种是有界数据集,另外一种是无界数据集

  • 回答 1

    目前,还是选择saprkflink还有成长的空间

  • 回答 3
    已采纳

     Flink为流处理和批处理应用公用一个通用的引擎。1、数据量&吞吐量&延迟性Flink 的流处理引擎只需要很少配置就能实现高吞吐率和低延迟。2、支持 Event Time 和乱序事件Flink 支持了流处理和 Event Time 语义的窗口机制。Event time 使得计算乱序到达的事件或...

没有解决我的问题,去提问