任务验证功能只能校验 SQL 语法正确性,无法完全规避代码运行中可能出现的错误,在 Flink Stream SQL 任务上线前,强烈建议完成任务调试,从而降低数据质量风险、提升开发效率。
系统提供线上数据和离线数据两种任务调试方式,请按需选择。
功能限制
- 仅 Flink Stream SQL 任务类型支持创建 Session 资源池和调试任务。
当您选择执行方式为 STREAMING,将会展示 Session 调试和调试资源池入口。如果选择执行方式为 Batch,则会隐藏。
- CTAS 和 CDAS 语法不支持调试任务。
- Session 调试任务运行 30 分钟后,将会自动停止运行。
注意事项
Session 集群仅作为开发测试环境,不建议将 Session 集群用于正式的生产环境。
前提条件
调试任务一般是由开发人员(Project_Dev)进行,需要已添加项目成员并为其关联角色,请参见添加项目成员。
创建 Session 资源池
- 登录流式计算 Flink 版控制台。
- 在顶部菜单栏选择目标地域。
- 在左侧导航栏选择项目管理,然后单击项目区块进入项目。
- 在项目左侧导航栏选择作业开发。
- 在作业开发页面下,选择目标 Flink SQL 流式任务,设置执行方式为流式,并选择正确的引擎版本。
- 点击左侧导航栏进入资源管理 > Session 集群。
- 在 Session 集群页面,单击创建集群。
- 在创建集群面板,设置基础配置和资源配置的关键参数,然后单击确定。
配置 | 说明 |
---|
基础配置:必填参数。 |
资源池名称 | 自定义设置 Session 资源池名称。
支持小写字母、数字和短横线(-),且必须以小写字母或数字开头和结尾,字符长度范围为 2 ~ 63。 |
Flink资源池选择 | 从下拉列表中选择目标 Flink 资源池。 |
引擎版本 | 目前支持 Flink 1.11-volcano 和 Flink 1.16-volcano 版本,建议选择与任务的引擎版本一致,否则调试任务时会提示引擎版本不匹配。 |
资源配置:选填参数,系统已有默认基础资源配置。 |
Task Manager 设置 | Task Manager 最小数量 | TaskManager 的最小数量,默认为 1,支持调整为 0。 |
Task Manager 最大数量 | TaskManager 的最小数量,默认为 10。 |
CPU | TaskManager 的 CPU 核数,默认值为 2,最小值为 0.5。 |
内存 | TaskManager 的内存大小,将根据您设置的 CPU 核数自动调整,呈 1C4G 的关系。 |
Slot 数量 | 推荐单 Slot 使用资源不少于 1 核 4 GiB,每个 Task Manager 可以配置 2 个 Slot。 |
Job Manager 设置 | CPU | JobManager 的 CPU 核数,默认值为 1 核,最小值为 0.5。 |
内存 | JobManager 的内存大小,将根据您设置的 CPU 核数自动调整,呈 1C4G 的关系 |
自定义参数 | 根据需要可自定义设置参数,格式为 Key-Value。 |
- 创建完成返回 Session 资源池列表页面,单击操作列下的启动按钮。
Session 资源池创建后,默认为未启动状态,需要您启动资源池。
使用线上数据调试任务
- 在项目左侧导航栏选择作业开发。
- 在作业开发页面下,选择目标 Flink Stream SQL 任务,设置执行方式为流式,并选择正确的引擎版本。
- 在编辑区上方单击 Session 调试。
- 在调试任务对话框,选择使用线上数据类型和 Session 资源池,然后单击确定。
说明
您仅能选择与任务引擎版本一致的 Session 资源池,当两者引擎版本不一致时呈置灰状态不可选择,且给出相应提示语。
- 查看任务调试结果,然后单击红色的任务停止按钮。
系统返回到任务编辑页面,在任务编辑区下方可查看到调试结果。任务调试结果确认满足预期后,请及时停止调试,避免长时间占用资源。
您还可以选择暂停调试、查看 Flink UI、查看运行日志。
使用离线数据调试任务
系统根据任务的 SQL 语句生成调试数据模板(.csv
文件),您可以下载模板并填写调试数据,然后上传到控制台进行调试,从而判断调试结果是否与预期结果一致。
- 在项目左侧导航栏选择任务开发 > Jupyter lab。
- 在任务开发页面下,选择目标 Flink Stream SQL 任务,设置执行方式为 STREAMING,并选择正确的引擎版本。
- 在编辑区上方单击调试。
- 在调试任务对话框,单击调试数据模板,下载模板到本地。
- 在本地打开调试文件模板,填写调试数据。
- 在调试任务对话框,选择使用调试文件和 Session 资源池,然后上传调试文件,然后单击下一步。
说明
- 您在上传本地离线调试数据文件时,需要注意以下两点:
- 系统仅支持上传 CSV 格式文件,且文件必须包含 Schema 表头,如 id(INT)。
- 上传的文件内存最大为 1 MB,或测试数据最大 1000 条。
- 您仅能选择与任务引擎版本一致的 Session 资源池,当两者引擎版本不一致时呈置灰状态不可选择,且给出相应提示语。
- 确认上传测试数据无误后,单击确定。
- 查看任务调试结果。
系统返回到任务编辑页面,在任务编辑区下方可查看到调试结果。任务调试结果确认满足预期后,请及时停止调试,避免长时间占用资源。
您还可以选择暂停调试、查看 Flink UI、查看运行日志。
查看 Session 调试结果
在任务编辑区下方,您可以查看调试结果:
- ①暂停/重启按钮:运行中的调试任务,可以选择暂停任务;已暂停的调试任务,可以选择重启任务。
- ②停止按钮:停止调试任务。
- ③Flink UI:跳转到 Dashboard 页面,查看当前 Session 调试任务的运行详情。
- ④运行结果:查看当前 Session 调试任务的输出结果。
- ⑤运行日志:支持查看 Client 日志,了解任务运行情况。
- ⑥收起/展开按钮:控制调试结果的展示按钮。
当调试任务失败时,将会返回失败原因。请根据提示解决问题后,重新进行 Session 调试任务。
管理 Session 集群
Session 集群创建后,支持按需执行以下操作:
- 查看详情:单击集群名称,即可查看资源池配置详情。
- 启停集群:按需控制集群的启停状态。
- 查看 Flink UI:在集群运行状态下,可以单击 Flink UI,查看集群上调试任务的运行详情。
- 编辑集群:在集群停止状态下,可以修改集群配置,支持切引擎版本和调整资源配置。
- 删除集群:在集群停止状态下,可以删除 Session 集群。