作业开发调试工具是 Awestream 技术团队花费大量时间打磨出的模块,它的出现能让您的团队如虎添翼,事半功倍。
Awestream 内置了功能强大且较为完善的作业开发调试工具,借此工具可快速高效的完成对作业的相关配置。
Awestream 作业开发调试工具能够连通元数据、
UDF
管理、JAR
资源和项目资源,便于用户在作业开发配置中快捷查看或使用。Awestream 作业开发调试工具支持实时保存、编辑器字号调整、编辑器行高调整、代码折叠和自动化行等常见操作,满足不同用户的使用习惯。
1. 落地页
当用户进入作业开发页面时会出现一个落地页,落地页中列举出了关于 SQL
的一些常见语法规则,并且提供了一个新建作业草稿的按钮。

用户点击新建作业草稿的按钮后会出现一个弹窗,可根据弹窗信息创建不同的作业。
-
需要注意的是,不同作业类型的配置略有不同,数据开发 中可以创建
SQL
和JAR
作业,数据集成 只能创建CDC
作业。 -
存储位置 是作业目标归属的文件夹,文件夹最大层级为四层,可在 作业草稿面板 中查看更多信息。
-
数据集成 中的 执行模式 只能为流作业不能为批作业。

2. 面板
面板是作业开发调试工具中每个模块的统称,面板可以通过拖拽改变不同面板之间大小的比例。
可改变大小比例的面板有作业草稿、元数据、 UDF
管理、 JAR
相关的资源面板以及开发面板、结果面板和属性面板,同时可改变大小比例的面板在鼠标移动到分割线时会有蓝色高亮并且支持最小化隐藏。

面板承载了作业开发调试工具的基本交互结构,它包含栏目面板、资源面板(包含操作栏)、开发面板(包含标签栏、操作栏、配置栏、抽屉面板和开发区域)、结果面板(包含操作栏)、属性面板(包含操作栏)和底部面板。

2.1 栏目面板
栏目面板中的按钮对应的功能从上到下依次是作业草稿、元数据、 SQL
查询作业、更多(UDF
管理和 JAR
资源)、运行结果和属性,可以通过按钮点击可以打开或关闭对应的面板或作业。
2.2 资源面板的操作栏
功能 | 作业草稿面板 | 元数据面板 | UDF 管理面板 | JAR 资源面板 |
---|---|---|---|---|
打开或关闭模糊搜索(搜索内容会在资源树中高亮) | ✓ | ✓ | ✓ | |
新建草稿 | ✓ | |||
注册函数 | ✓ | |||
添加 JAR 资源(跳转到添加资源页面) | ✓ | |||
刷新(重新加载树资源) | ✓ | ✓ | ✓ | ✓ |
全部折叠(只展示第一级资源) | ✓ | ✓ | ✓ | |
定位(高亮当前作业在树中的位置) | ✓ | |||
显示或不显示类型(是否显示元数据类型) | ✓ | |||
最小化(关闭当前面板) | ✓ | ✓ | ✓ | ✓ |
2.2.1 模糊搜索
模糊搜索会将搜索的内容进行匹配和高亮,便于用户快速定位。

2.3 作业草稿面板
作业草稿面板是进入作业开发页面后默认打开的,它会有一个默认展开的文件夹(default
),它是一个不可被重命名、删除或移动的文件夹,它只允许新建作业草稿或新建文件夹。

作业草稿面板除 default
文件夹以外的文件夹和作业草稿支持拖拽改变存储位置。
作业草稿面板的文件夹和作业草稿支持右键菜单的操作。其中针对文件夹的操作有新建文件夹、新建草稿、重命名和删除文件夹,针对作业草稿的操作有重命名和删除作业草稿。
作业草稿面板可通过双击的形式打开作业草稿或展开收起文件夹,当双击作业草稿时,则会进入作业草稿的编辑状态(文件夹的展开和收起也可使用文件夹图标前的折叠图标进行控制)。
通过右键点击文件夹的新建作业草稿后,会出现新建作业弹窗,弹窗的存储位置默认值为当前点击的文件夹。
出于一定因素考虑,文件夹最大层级为四层,当右键点击第四层文件夹时则不再会出现新建文件夹的选项,同样如果拖拽文件夹到第四层文件夹时也会出现错误提示。
作业是否上线可以通过作业树中作业草稿名称的高亮进行判断,如果是灰色作业类型图标和灰色作业草稿名称则表示当前作业没有上线,没有上线的作业无法在作业运维中查看。
2.4 元数据面板
元数据面板不是作业开发工具默认打开的资源面板,考虑到数据体量元数据面板默认会打开第一个数据源的第一层。

元数据面板的节点不支持拖拽。
元数据面板总共分为四层,分别是 Catalog
、 Database
、 Tables 和 Views
、 Table 和 View
。其中 Catalog
、 Database
、 Table
和 View
节点在鼠标点击后会弹出 属性面板 ,用户可通过属性面板进一步查看元数据的信息。

元数据面板的节点支持右键菜单的操作,具体如下:

Catalog
和Database
的操作有复制名称和插入DDL
。Tables
的操作有刷新和插入表。Views
的操作有刷新。Table
的操作有复制名称、插入DDL
、修改属性和删除表。View
的操作有复制名称、插入DDL
和删除视图。
需要注意的是插入 DDL
和修改属性的操作在没有打开 SQL
查询或 SQL
作业时不会出现在右键菜单。
2.5 UDF 管理面板
UDF
管理面板的节点不支持拖拽。
UDF
管理面板的文件夹和函数支持右键菜单的操作。
针对文件夹的操作有管理,点击后会出现函数管理弹窗,通过弹窗可以进行当前文件夹下函数的批量删除操作。

针对函数的操作有复制名称和删除函数。
函数注册可点击 UDF
管理面板中操作栏的加号图标后在出现的弹窗中进行选择。

2.6 JAR 资源面板
JAR
资源面板的节点不支持右键菜单的操作。
JAR
资源面板默认展开资源文件夹中的 Flink App
目录。

Flink App
、Catalog
、Connector
、Function
、Format
和其它目录下的资源在 JAR
作业下可以进行拖拽,拖拽的初衷是便于用户在 JAR
作业中配置资源。

2.7 结果面板
结果面板是执行作业校验、运行和发布后自动弹起的一个面板,它承载了校验失败、校验成功、运行失败、预览结果和发布失败的信息。
-
结果面板是全局唯一的,就是说一个作业执行操作后的结果会被下一次执行操作覆盖。
-
进入作业开发调试工具后,如果没有执行作业对应的相关操作,直接点击栏目面板的结果面板按钮时,打开的结果面板内容为空。
-
结果面板中的数据即使用户在最小化关闭结果面板后,依然会被保留,直至下一次执行结果的出现,才会被替换。
2.8 属性面板
属性面板是在点击元数据面板中的 Catalog
、 Database
、 Table
和 View
的节点时自动弹起的面板。
-
属性面板是全局唯一的,只有在点击新的节点后,才会更新属性面板的数据,并且属性面板中的数据在用户最小化关闭面板后依然会被保留。
-
进入作业开发调试工具后,如果没有点击元数据面板中的节点,即使打开的结果面板内容也为空。
2.9 底部面板
底部面板包含的功能有路径、保存状态、最后保存时间和设置。
当用户处在落地页时路径显示为作业草稿,当用户打开 SQL
查询时,则会显示为 SQL
查询,当用户打开其它作业时则会展示改作业在作业草稿面板中所处的层级路径。
最后保存时间在 SQL
查询时不会出现,设置功能在 JAR
作业时不会出现。
设置功能可以更改编辑器的字体大小、行高、是否开启代码折叠和是否能够自动换行。

作业开发调试工具支持作业配置的实时保存,在用户更改作业时,都会触发保存功能,自动保存成功后会自动更新最后保存时间。
作业未保存时会在底部面板路径后面和作业面板标签栏中进行标红。

2.10 开发面板
不同作业类型的开发面板有所不同,但是每种作业类型都有开发区域、标签栏、操作栏和配置栏。
2.10.1 开发区域
开发区域 总共有三种,分别是 JAR
作业的表单、 CDC
作业的 YAML
编辑器和 SQL
查询以及 SQL
作业的 SQL
编辑器。
2.10.2 标签栏
标签栏是用户当前打开作业的名称集合,它与我们常见编辑的文件标签栏同质,用户可以点击标签栏中的关闭按钮关闭当前作业。
SQL
查询作业永远在标签栏的第一个位置出现,其它作业按照打开顺序依次排开。
2.10.3 操作栏
功能 | SQL 预览作业 | SQL 作业 | CDC 作业 | JAR 作业 |
---|---|---|---|---|
作业发布 | ✓ | ✓ | ✓ | |
作业发布 -> Pipeline 详情(作业点击发布后的详细信息) | ✓ | ✓ | ✓ | |
Flink 环境 -> Flink 版本 | ✓ | ✓ | ✓ | ✓ |
Flink 环境 -> 部署模式 | ✓ | ✓ | ✓ | ✓ |
Flink 环境 -> Flink 集群 | ✓ | ✓ | ✓ | ✓ |
Catalog | ✓ | ✓ | ||
Database | ✓ | ✓ | ||
Source | ✓ | |||
Sink | ✓ | |||
校验 | ✓ | ✓ | ✓ | |
运行 | ✓ | ✓ | ||
暂停预览 | ✓ | ✓ | ||
恢复预览 | ✓ | ✓ | ||
停止预览 | ✓ | ✓ | ||
查看变量使用 | ✓ | ✓ | ✓ | |
清空选项(清空 Flink Env 、Catalog 和 Database 的数据) | ✓ | ✓ |
2.10.4 配置栏
配置栏是对当前作业进行额外配置的部分,它包含询问 AI
、 Flink
配置、 Hadoop
配置、 Kubernetes
配置、告警配置、作业依赖和历史版本。
额外的配置会根据作业类型和 Flink Env
等因素发生进行变化。
3. 开发区域
开发区域是作业开发调试工具的核心之一,每种作业类型都会有一个开发区域。
SQL
查询和 SQL
作业的开发区域功能一致,所以不再赘述。
3.1 SQL 作业
新创建的 SQL
作业顶部会有默认的注释信息,其中包含作者、创建时间和语法提示。
SQL
作业的编辑器支持右键菜单,菜单中包含格式化、全屏、运行、校验以及 IDE
内置的功能。

SQL
作业支持选中运行,默认的运行会运行整个 IDE
内容,选中运行则只会运行选中的内容。
运行选中内容可以使用快捷键进行操作,Windows
系统为 Ctrl + e
, Mac OS
系统为 Command + e
。

SQL
作业支持语法、 Catalog
、 Database
、 Table
、 View
和变量的补全功能。

3.2 CDC 作业
新创建的 CDC
作业顶部会有默认的注释信息,其中包含作者、创建时间和描述等信息。
CDC
作业的编辑器支持右键菜单,菜单中包含全屏、校验以及 IDE
内置的功能。

CDC
作业支持变量的补全功能,可以通过 $
符进行触发。

3.3 JAR 作业
JAR
作业的程序 Jar
字段支持从 JAR
资源面板拖拽资源,程序参数字段支持全屏以及 IDE
内置的右键功能。

4. 标签栏
4.1 作业发布
作业发布详情在打开作业时就会开始轮询,用以获取发布的状态和信息。
作业发布按钮如果为禁用状态时,则无法执行发布作业的操作。

如果出现发布 Pipeline
详情时,可以通过点击发布按钮右侧的状态查看发布 Pipeline
详情,如果作业发布失败还可查看失败的 Pipeline
日志。

作业发布会优先校验 Flink
环境、 Kubernetes
配置( Kubernetes
配置存在警告信息时,不会阻止作业发布)然后执行校验( JAR
作业不会执行),当完成上述步骤时,才会执行发布动作。
4.2 校验
校验功能只有在非 JAR
作业下才会出现。校验结果总共有三种状态,分别是成功、错误和警告。
错误和警告会在对应编辑器中标出红色和黄色且鼠标移入后可以查看对应的信息。
错误和警告在结果面板也可以展开查看更完整的信息。


4.3 运行
当用户点击运行功能时,会优先处理校验逻辑,当校验的结果没有问题时,才会执行运行操作。
运行功能只会在 SQL
查询和 SQL
作业时才会出现。
如果当前作业没有选择过预览集群,则会出现选择预览集群的选项。

选择集群点击确定后,就可以在结果面板实时预览数据。
作业在预览的过程中时运行图标会更换为暂停和停止,当点击暂停图标时,会暂停当前预览,用户可通过点击恢复按钮,恢复当前预览。

4.4 查看变量使用
查看变量使用只有在非 JAR
作业下才可使用。如果作业编辑器中存在变量相关的内容,在用户点击查看变量时候后,会出现一个代码对比弹窗,其中左侧为当前代码,右侧为当前代码变量解析后的代码。

5. 配置栏
5.1 询问 AI
询问 AI
的功能只在 SQL
查询和 SQL
作业才会出现。

AI
助手支持四种模型的切换,分别是 deepseek-reasoner
、 deepseek-r1-250120
、 deepseek-coder-v2:latest
和 qwen2.5-coder:7b
。

AI
助手返回的代码提供插入和复制的功能,插入功能可以直接把返回的代码插入到 SQL
编辑器中,复制功能可以把返回的代码复制到系统剪贴板。

5.2 Flink 配置
Flink
配置将常见字段转换成对应的表单项,对于其它不常见配置也提供了相应的代码补全的能力。

5.3 Hadoop 配置
Hadoop
配置只有在 Flink
环境部署模式为 Yarn Application
或 Yarn Per Job
时才会出现。

5.4 Kubernetes 配置
Kubernetes
配置是一个支持表单校验的特殊配置,在进入作业时就会自动校验。它的按钮也分为五种状态,分别是禁用、警告、错误、激活(打开 Kubernetes
配置)和未激活(未打开 Kubernetes
配置)。
Kubernetes
配置的扩容条件有四种,分别是 CPU
、 CPU
和内存、内存和自定义规则。
Kubernetes
配置只有在 Flink
环境部署模式为 K8s Application
时才会出现。

如果 Flink
环境中的 Flink
版本为空时,则会禁用 Kubernetes
配置。

当 Kubernetes
配置的表单项存在错误时,对应的表单项和按钮都会标红。

当 Kubernetes
配置的 Flink
镜像存在警告信息时,表单项和按钮会对应标黄。

5.5 告警配置
告警配置只在非 SQL
查询时才会出现,它跟作业的其它配置没有任何的联动关系。

5.6 作业依赖
作业依赖在四种作业类型中都会出现,并且跟作业的其它配置没有任何的联动关系。
作业依赖会自动识别除 JAR
作业以外的作业依赖,用户也可手动更改作业依赖。

5.7 历史版本
JAR
作业的历史版本不支持操作功能,SQL
查询没有历史版本功能。
历史版本的操作有查看、对比、回滚和删除。

历史版本可以选择某一个版本进行对比,通过对比可以看到两个版本之间的差异,弹窗左侧为当前版本,右侧为对应的历史版本。

6. 快捷导览
由于此篇文章内容过多,为此提供了快速导览的功能,以帮助您快速了解。
6.1 如何创建作业
在作业开发调试工具中,用户有三种创建作业的方式,您可通过点击链接的形式跳转到该文章的对应位置获取更详细的介绍:
6.2 作业都有哪些类型
目前作业开发调试工具支持四种作业类型,分别是 JAR
、 CDC
、 SQL
和 SQL
查询。其中 SQL
查询是一种内置的无法被删除的特殊作业类型,它具备了除发布以外的所有 SQL
作业应有的能力,它能帮助用户更快捷的执行一些操作。