
产品注册版本为「v5.0共创版」时,才能使用数据开发-实时任务:
1) 如需申请免费试用或增购功能点,请填写链接:实时任务意向使用申请表
2) 如需了解更多实时任务详细信息,可联系技术支持(技术支持联系方式:前往「服务」,选择「在线支持」、电话「400-811-8890」)。
1. 概述
1.1 版本
FineDataLink 版本 | 功能变动 |
---|---|
5.0.1.4 | 支持使用 Flink SQL 算子 |
5.0.1.5 | 实时任务中若使用 WebSocket输入、MQTT输入、IBM MQ输入、Pulsar输入,不能再使用「Flink SQL」节点 |
1.2 应用场景
实时任务发展前期,可视化算子的单行转换能力、多行聚合能力不足以满足客户各式各样的转换需求。
用户习惯使用 SQL 语句进行数据开发,但目前实时任务中不支持编写 SQL 语句处理数据。
1.3 功能简介
新增「Flink SQL」算子,用户可编写 SQL 语句在实时任务中对数据进行查询和处理。如下图所示:
1.4 前提条件
使用「Flink SQL」算子前,需要:
2. 操作步骤
本文示例:使用「CDC输入」算子取出 MySQL 数据,使用「Flink SQL」算子将取出的 name 字段根据不同值进行分组,并统计每个不同 name 字段出现的次数,返回 name 值和对应的出现次数。
2.1 设置前置算子
注1:「Flink SQL」算子前必须接一个前置算子。
注2:5.0.1.5 及之后版本,实时任务中若使用 WebSocket输入、MQTT输入、IBM MQ输入、Pulsar输入,不能再使用「Flink SQL」节点
1)新建实时任务。
2)拖入一个「CDC输入」算子,取出待处理数据。如下图所示:
点击「数据预览」,可查看取出的数据。如下图所示:
2.2 设置 Flink SQL 算子
拖入「Flink SQL」算子,将取出的 name 字段根据不同值进行分组,并统计每个不同 name 字段出现的次数,返回 name 值和对应的出现次数。如下图所示:
点击「数据预览」,如下图所示:
「Flink SQL」算子功能说明如下:
注:不支持在一个「Flink SQL」算子中,使用多个 select 语句。
设置项 | 说明 |
---|---|
支持、不支持语句 | 支持语句:select、with、where、distinct、tumble、table、hop、 cumulate、 session、 grouping sets、rollup、cube、 group by、 having、over、order by |
不支持语句:join、semi、union、intersect、except、in 、exists、limit、create、drop、alter、Insert、analyze、describe、truncate、explain、use、show、load、show、load、unload、set、reset、jar、job、update、delete、call | |
使用方式 | 1)在 SQL 中,可以通过 ${valueName} 的方式,使用自定义的任务参数 |
2.3 后续步骤
用户可继续处理数据,或者后接输出算子将数据输出。
注:「Flink SQL」算子后可接多个输出算子。