栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Flink的Time详解之时间语义Time介绍

Flink的Time详解之时间语义Time介绍

对于流式数据处理,最大的特点是数据上具有时间的属性特征,Flimk 根据时间产生的位置不同,将时间区分为三种时间语义,分别为事件生成时间(Event Time)、事件接入时 间(Ingestion Time)和事件处理时间(Processing Time)。

  • Event Time:事件产生的时间,它通常由事件中的时间戳描述。
  • Ingestion Time:事件进入 Flink 的时间。
  • Processing Time:事件被处理时当前系统的时间。
1.时间语义 Time

数据从终端产生,或者从系统中产生的过程中生成的时间为事件生成时间,当数据经过 消息中间件传入到 Flink 系统中,在 DataSource 中接入的时候会生成事件接入时间,当数 据在 Flink 系统中通过各个算子实例执行转换操作的过程中,算子实例所在系统的时间为数 据处理时间。Flink 已经支持这三种类型时间概念,用户能够根据需要选择时间类型作为对 流式数据的依据,这种情况极大地增强了对事件数据处理的灵活性和准确性。

2.设置时间语义

在 Flink 中默认情况下使用是 Process Time 时间语义,如果用户选择使用 Event Time 或 者 Ingestion Time 语 义 , 则 需 要 在 创 建 的 StreamExecutionEnvironment 中 调 用 setStreamTimeCharacteristic() 方 法 设 定 系 统 的 时 间 概 念 , 如 下 代 码 使 用 TimeCharacteristic.EventTime 作为系统的时间语义:

//设置使用EventTime 
streamEnv.setStreamTimeCharacteristic(TimeCharacteristic.EventTime) 
//设置使用IngestionTime 
streamEnv.setStreamTimeCharacteristic(TimeCharacteristic.IngestionTime)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/680875.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号