在本站我们介绍过很多flink相关的开发,对于flink sql而言,我们介绍的比较少,所以从本文开始,我们介绍下flink sql开发系列的相关知识点,在学习flink sql开发之前,我们要理解下flink sql开发中涉及到的一些词汇术语。下面我们列举下flink sql 开发中的词汇术语。
序号 | 术语 | 说明 |
1 | source端 | flink sql一般是流式的,多以需要源源不断的从外部读取数据,这里的source端就是指为flink sql端持续提供输入数据的源头 |
2 | sink 端 | flink sql除了读取之外,还有一部分很重要的就是需要把结果写入某个介质,这里为flink sql 处理结果提供输出目的地的端称为sink端。 |
3 | Schema | flink sql既然是执行sql,那么就需要有库,表等名词,最后sql的执行是基于表的,这里的Schema就是指表里面的各个列名称,列属性等等。 |
4 | 时间模式 | 这里主要是类似于流计算里面的时间窗口的概念,Flink sql在处理这种时间窗口类的业务的时候,需要获取对应的时间戳,目前flink sql支持Event Time,Process Time两种模式。 |
5 | EventTime | Event Time 时间模式下,时间戳由输入数据的字段提供,可以用 WATERMARK FOR 语句指定该字段并启用 Event Time 时间模式 |
6 | Watermark | 这个也是时间窗口水印, 表示一个特定的时间点,在该时间点之前的所有数据已经得到妥善处理。Watermark 由系统自动生成,你可以通过WATERMARK FOR columnName AS <watermark_strategy_expression>定义。 |
7 | Processig Time | Processing Time 时间模式下,时间戳由系统自动生成并添加到数据源中(以PROCTIME命名,SELECT *时不可见,使用时必须显式指定)。它以每条数据被系统处理的时间作为时间戳 |
8 | 计算列 | 计算列是一个使用 column_name AS computed_column_expression 语法生成的虚拟列。它由使用同一表中其他列的非查询表达式生成,并且不会在表中进行物理存储.这里的话其实就可以当成是普通sql的列的别名。 |
9 | 时间窗口 | 目前系统支持 TUMBLE、HOP、Session、CUMULATE三种时间窗口,在后面的文章,我们会详细的介绍时间窗口的用法。 |
10 | SQL Hints | SQL hints 是和 SQL 语句一起使用来改变执行计划的,常用在动态表的查询中,后面我们会详细的介绍这里的SQL Hints。 |
以上就是在flink sql中开发常会用到的一些术语,我们先挨个熟悉一下,在接下来的文章里面我们会介绍的比较详细。
还没有评论,来说两句吧...