第一章整体介绍 21.1什么是TableAPI和FlinkSQL 21.2需要引入的依赖 21.3两种planner(old&blink)的区别 4第二章API调用 52.1基本程序结构 52.2创建表环境 52.3在Catalog中注册表 72.3.1表(Table)的概念 72.3.2连接到文件系统(Csv格式) 72.3.3连接到Kafka 82.4表的查询 92.4.1TableAPI的调用 92.4.2SQL查询 102.5将DataStream转换成表 112.5.1代码表达 112.5.2数据类型与Tableschema的对应 122.6.创建临时视图(TemporaryView) 122.7.输出表 142.7.1输出到文件 142.7.2更新模式(UpdateMode) 152.7.3输出到Kafka 162.7.4输出到ElasticSearch 162.7.5输出到MySql 172.8将表转换成DataStream 182.9Query的解释和执行 201.优化查询计划 202.解释成DataStream或者DataSet程序 20第三章流处理中的特殊概念 203.1流处理和关系代数(表,及SQL)的区别 213.2动态表(DynamicTables) 213.3流式持续查询的过程 213.3.1将流转换成表(Table) 223.3.2持续查询(ContinuousQuery) 233.3.3将动态表转换成流 233.4时间特性 253.4.1处理时间(ProcessingTime) 253.4.2事件时间(EventTime) 27第四章窗口(Windows) 304.1分组窗口(GroupWindows) 304.1.1滚动窗口 314.1.2滑动窗口 324.1.3会话窗口 324.2OverWindows 331)无界的overwindow 332)有界的overwindow 344.3SQL中窗口的定义 344.3.1GroupWindows 344.3.2OverWindows 354.4代码练习(以分组滚动窗口为例) 36第五章函数(Functions) 385.1系统内置函数 385.2UDF 405.2.1注册用户自定义函数UDF 405.2.2标量函数(ScalarFunctions) 405.2.3表函数(TableFunctions) 425.2.4聚合函数(AggregateFunctions) 455.2.5表聚合函数(TableAggregateFunctions) 47
1