• Flink Time时间语义


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

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

      

      数据从终端产生,或者从系统中产生的过程中生成的时间为事件生成时间,当数据经过消息中间件传入到Flink系统中,在DataSource中接入的时候会生成事件接入时间,当数据在Flink系统中通过各个算子实例执行转换操作的过程中,算子实例所在系统的时间为数据处理时间。

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

    //设置使用EventTime
    
    streamEnv.setStreamTimeCharacteristic(TimeCharacteristic.EventTime)
    
    //设置使用IngestionTime
    
    streamEnv.setStreamTimeCharacteristic(TimeCharacteristic.IngestionTime)
    

      注意:但是上边的代码没有指定具体的时间到底是什么值,后边代码中还需要设置。

  • 相关阅读:
    GridView使用技巧
    ilspy反编译
    Editplus php
    SQL 日期相减(间隔)datediff函数
    cmd创建文件命令
    iis7 bug解决
    删除qq互联
    discuz 数据库文件密码修改
    linux zip命令
    asp.net调用js方法
  • 原文地址:https://www.cnblogs.com/zbw1112/p/14053266.html
Copyright © 2020-2023  润新知