创建脚本作业
更新时间:2026-10-13
本文介绍如何创建 SparkSQL 或 DorisSQL 脚本作业,并完成代码编写、保存和执行验证。
前提条件
- 具备脚本作业模块权限及创建权限。
-
计算资源:
- SparkSQL 作业:脚本作业测试与实际调用需使用数据处理实例-Spark类型。
- DorisSQL 作业:无需选择执行资源,默认使用当前工作空间下的分析与AI搜索实例(Doris)执行,请确认该实例已创建且处于运行中状态。
- 具备作业中引用数据的访问权限:Doris 类型、Datalake 类型或外部数据源 Catalog 下目标数据表的查看元数据及读表权限,写入数据还需具备相应的写权限。
操作步骤
步骤一:创建脚本作业
- 登录百度胜算控制台,在选中的工作空间操作列单击打开,进入工作空间。
-
根据需要选择以下任一入口:
- 在侧边导航依次单击数据处理 > 脚本作业,单击右上角创建作业。
- 在工作台 > 项目中打开目标项目,在项目详情页单击创建,选择脚本作业。
- 进入创建脚本作业对话框后,填写作业信息。
表1 创建脚本作业配置项说明
| 配置项 | 说明 |
|---|---|
| 作业名称 | 输入脚本作业名称,用于在作业列表和项目目录中识别作业。不能出现/或者\,不能仅为.,不能全为空白字符,⻓度为1~256个字符。 |
| 作业类型 | 支持选择SparkSQL或DorisSQL。SparkSQL 作业使用数据处理实例-Spark类型执行;DorisSQL 作业默认使用当前工作空间下的分析与AI搜索实例(Doris)执行。 |
| 所属项目 | 选择作业保存的项目空间目录。创建成功后,可在工作台的对应目录中查看该作业。 |
| 描述 | 输入对当前脚本作业的说明。 |
- 单击创建,创建成功后,系统将作业保存到所选项目目录,并使用代码编辑器打开作业。
步骤二:编写作业代码
不同作业类型的编辑器能力和表名写法不同,请按作业类型编写代码。
SparkSQL 作业
-
在代码编辑器中输入作业代码,编写Spark SQL。编辑器支持 SQL 格式化、关键字高亮,以及页面实际提供的库表和字段补全。
- 库表补全支持环境变量:当输入
${环境变量名}.(例如${catalog}.)时,编辑器会按该环境变量当前对应的值,提示其对应的库表信息,便于通过环境变量在不同环境间灵活切换所引用的库表。
- 库表补全支持环境变量:当输入
- 在编辑器左侧目录树头部切换文件Tab,展示文件夹及文件夹下的脚本作业文件。
- 在元数据 Tab 的搜索框中输入名称,可按名称检索元数据内容,目录树自动过滤并展开匹配项。
- 检查代码中引用的数据表、字段和目标位置是否存在。
- 确认当前用户具备源数据读取权限和目标数据写入权限。
说明:自动补全只用于提高代码编写效率,不能替代执行验证。代码是否可运行仍以执行结果为准。
DorisSQL 作业
- 在代码编辑器中输入作业代码,编写Doris SQL。编辑器支持 SQL 格式化、关键字高亮,以及基于元数据的 SQL 动态提示(库表、字段自动补全)。
- 新建 DorisSQL 作业时,编辑器会在文件头部默认注入一段Doris Catalog、Datalake Catalog使用示例注释。
- 在编辑器左侧目录树头部切换文件Tab,展示文件夹及文件夹下的脚本作业文件。
- 在元数据 Tab 的搜索框中输入名称,可按名称检索元数据内容,目录树自动过滤并展开匹配项。
- 确认当前用户具备目标数据的访问权限。Datalake 类型的表支持读写,外部数据源 Catalog 类型的表仅支持读取。
步骤三:配置基本信息
- 右侧基本信息可查看当前脚本作业的作业名称、作业类型、所属项目、创建人、创建时间、最后修改人、修改时间以及描述,描述栏支持编辑,可填写或修改作业业务说明。
- 自定义 Spark 参数:仅 SparkSQL/Spark 脚本作业支持,用于调整 Spark 内核运行参数;无性能调优需求可不配置。DorisSQL 作业无需配置该项。
配置示例:如需调整 Spark Executor 的资源配置,可在自定义 Spark 参数中配置:
Bash
1spark.executor.memory=4g
2spark.executor.cores=2
3spark.executor.instances=3
配置后,系统会在运行 Spark 作业时将这些参数传递给 Spark。开发代码中通常无需额外读取这些参数,Spark 会自动使用对应配置。
- 环境变量:全类型脚本作业支持,用于注入运行时环境变量,可在脚本中读取使用;无自定义变量需求可不配置。
配置示例:如需在运行时向脚本传入数据环境和数据路径,可配置:
Bash
1ENV=pro
2DATA_PATH=/data/pro
配置后,脚本运行时可以直接通过操作系统环境变量读取。以 SparkSQL 脚本为例:
SQL
1-- 说明:全局变量设置的Key不支持中文
2select '变量 VAR: ${VAR}' as var;
3
4select ${logicTime()} as ts, '${logicTime(yyyy-MM-dd HH:mm:ss, runtime-1M)}' as t1, '${logicTime(yyyy-MM-dd HH:mm:ss, runtime)}' as t2;
这样可以避免将环境信息、路径等参数直接写死在代码中。例如同一份代码可以通过配置不同的环境变量,在测试环境和生产环境使用不同的数据路径。
步骤四:保存并运行
- 确认代码、基本参数已配置完成,单击保存。
- 然后单击运行按钮,运行当前作业。
-
然后通过下方标签页查看任务情况:
- 执行信息:展示作业提交日志、运行日志、任务状态与报错信息;
- 执行结果:展示 SQL 查询返回数据,单次 SQL 执行默认最多展示并预览前 1000 条数据;普通标量字段直接展示字段值;文本、图片、音频、视频等多模态字段展示对应类型的缩略图或类型标识,单击即可在线预览。查询结果支持导出下载,导出文件仅包含标量字段内容,多模态数据无法在下载结果中查看。
- 如果执行失败,修改代码或配置后重新保存并执行。
评价此篇文章
