目录 一、sql-client准备 1.基于yarn-session模式 2.常用配置 二、流处理中的表 1.动态表(Dynamic Tables) 2.持续查询(Continuous Query) 3.将流转换成动态表 4.用SQL持续查询 (1)更新(Update)查询 (2)追加(Append)查询 5.将动态表转换为流 (1)仅追加(Append-only)流 (2)撤回(Retract)流 (3)更新插入(Upsert)流 三、时间属性 1.事件时间 2.处理时间 四、DDL(Data Definition Language)数据定义 1.数据库 2.表 (1)创建表 *1)常规列 *2)元数据列 *3)计算列 *4)定义Watermark *5)主键 *6)分区(PARTITIONED BY) *7)with语句 *8)LIKE *9) AS select_statement(CTAS)基于查询的结果创建和填充表。 *10)创建表简单示例 (2)查看表 (3)修改表 (4)删除表 五、查询 1.DataGen & Print 2.With子句 3.SELECT & WHERE 子句 4.SELECT DISTINCT 子句 5.分组聚合 6.分组窗口聚合(不推荐) 7.窗口表值函数(TVF)聚合 (1)滚动窗口 (2)滑动窗口 (3)累积窗口 (4)grouping sets多维分析 8.Over 聚合 (1)按照时间区间聚合 (2)按照行数聚合 9.特殊语法:TOP-N 10.特殊语法:Deduplication去重 11.联结(Join)查询 (1)常规联结查询 (2)间隔联结查询 (3)维表联结查询 12.Order by 和 limit 13.SQL Hints 14.集合操作 (1)UNION 和 UNION ALL(并) (2)Intersect 和 Intersect All(交) (3)Except 和 Except All(差) (4)In 子查询 12.系统函数 13.Module操作 (1)语法 (2)使用示例 *1)上传jar包到flink的lib中 *2)解决依赖冲突问题 *3)重启flink集群和sql-client *4)使用modules 五、常用 Connector 读写(重要) 1.kafka (1)添加kafka连接器依赖 *1)将flink-sql-connector-kafka-1.17.0.jar上传到flink的lib目录下 *2)重启flink集群和sql-client *3)启动kafka *4)在flink-sql中创建表 *5)指定数据源,并向kafka表中插入数据 *6)查看结果 (2)upsert-kafka表 *1)新增kafka表 *2)向kafka表中插入数据 *3)查看结果 2.File (1)解决方案1(不推荐) (2)解决方案2(推荐) (3)启动环境 (4)数据生成 (5)新建file表 (6)插入数据、查询 3.JDBC(MySQL) (1)创建mysql数据库 (2)在lib下导入jar包 (3)重启flink和sql-client (4)flink中建表,查询、插入