Flink Table API & SQL 如何定义时间属性
Posted @SmartSi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flink Table API & SQL 如何定义时间属性相关的知识,希望对你有一定的参考价值。
传送门:Flink 系统性学习笔记
Flink 版本:1.11
本文将解释如何在 Flink 的 Table API 和 SQL 中为基于时间的操作定义时间属性(Time Attributes)。
1. 时间属性介绍
基于时间的操作,例如 Table API 和 SQL 查询中的窗口,需要知道时间相关的信息。因此,表需要提供逻辑时间属性以指明时间以及提供访问相应的时间戳。时间属性可以作为表 schema 的一部分,可以在用 CREATE TABLE DDL 语句创建表的时候指定、也可以在 DataStream 中指定、也可以在定义 TableSource 时指定。一旦定义了时间属性,就可以像普通字段一样使用,也可以在时间相关的操作中使用。
只要时间属性没有被修改,只是从一个查询转发到另一个查询,那么仍然是一个有效的时间属性。时间属性类似一个常规时间戳,可以用来计算。当在计算中使用时,时间属性被物化为一个标准时间戳。但是,不能使用普通时间戳来代替时间属性,也不能将其转换为时间属性。
2. 如何定义时间属性
Flink 可以根据如下两种时间概念来处理数据:
- 处理时间
以上是关于Flink Table API & SQL 如何定义时间属性的主要内容,如果未能解决你的问题,请参考以下文章
2021年大数据Flink(三十):Flink Table API & SQL 介绍
Flink Table API & SQL Planner 演变
18-flink-1.10.1-Table API & Flink SQL
Flink Table API & SQL Planner 演变