Dataphin支持创建Shell和Python任务的离线计算模版。后续在开发Shell和Python任务时,可以引用该离线计算模版以提高任务的研发效率。本文为您介绍如何创建、配置并提交离线计算模版。
背景信息
当多个Shell或Python任务的代码逻辑相似,只有部分配置项或输入参数不同时,您可以将代码写入到离线计算模版中,并将不同的配置项和输入参数定义为模版变量参数。后续任务引用了该离线计算模版后,可以给离线计算模版中的模版变量参数赋值,以实现代码公共逻辑的单点维护和快速复用,提升了任务代码研发的效率。
通常每个任务有独立的运行资源,大批量任务同时运行时会导致运行资源占用率高,影响任务运行的并发性。Dataphin支持引用了同一个离线计算模板的多个任务可以共享运行资源,以保障其他任务正常运行。您需要为离线计算模板开启共享运行资源开关,后续引用了该模板的多个任务可以共享运行在同一个资源上,其他任务就可以使用Dataphin剩余的资源。如何开启离线计算模板的共享运行资源开关,请参见 步骤三:配置离线计算模版 。
使用限制
-
仅支持创建Shell和Python任务的离线计算模版。
-
支持超级管理员的用户创建、配置并提交离线计算模版。
如何获取项目管理员和开发者角色,请参见 添加项目成员 。
-
仅支持超级管理员角色的用户开启离线计算模板的共享运行资源开关。
操作流程
-
创建离线计算模版任务。
-
开发离线计算模版的代码。
-
配置离线计算模版的模版变量参数及运行资源。
-
保存、调试和提交离线计算模版后,任务才可以引用该离线计算模版。
步骤一:创建离线计算模版
-
登录 Dataphin控制台 。
-
在Dataphin控制台页面,选择工作区地域后,单击 进入Dataphin>> 。
-
在Dataphin首页,单击顶部菜单栏的 研发 。
默认进入数据 开发 页面。 -
在数据 开发 页面,按照下图操作指引,进入 新建离线计算模版 对话框。
①区域选择编码研发的项目空间,如果您选择了Dev-Prod模式的项目空间,则需要在区域②选择为Dev。
-
在 新建离线计算模版 对话框,配置参数。
参数
描述
模版名称
命名规则如下:
-
支持任意字符。
-
全局唯一。
-
不能超过64个字符。
节点类型
当前版本仅支持Python和Shell任务。根据您后续开发的任务类型进行选择,例如后续您需要基于离线计算模版开发Shell任务,则节点类型选择为Shell。
选择目录
默认选择为离线计算模版。同时您也可以在 计算模版 页面创建目标文件夹后,选择该目标文件夹为计算模版的目录。
描述
填写对离线计算模版简单的描述。
-
-
单击 确定 ,完成离线计算模版。
完成离线计算模版创建后,默认进入离线计算模版的代码开发页面。开发代码请参见 步骤二:开发离线计算模版的代码 。
步骤二:开发离线计算模版的代码
在离线计算模版的代码开发页面,进行开发相应语言(Python或Shell)的代码。代码说明如下:
-
支持的语法与Python、Shell的语法一致。Python语法请参见 Python官网 。
-
支持定义模版变量参数,格式为
@@{模板变量参数名称}
,模版变量参数名称只能包含字母、数字和下划线(_)且只能以字母开头。例如@@{variable}
。
Shell语言的代码示例如下。
#!/bin/bash
# 本示例用于检测某个FTP上的文件是否已经上传完成。
# ftpserver作为模板变量参数,后续可以为其配置默认值,这样每个引用该模板的任务共用同一个FTP服务器,也可以在任务上指定其他服务器。
ftp_ip=@@{ftpserver}
# username、password作为模板变量参数,后可以为参数开启加密,防止用户名密码泄露。
username=@@{username}
password=@@{password}
# 检测FTP文件是否上传完成。
check_ftp_file() {
filename=$1
ftp -niv <<EOF
open $ftp_ip # $ftp_ip是Shell局部变量。
user $username $password
cd /file
ls $filename
cnt=0
while (( $cnt <= 300 ))
if check_ftp_file ${filename} | grep ${filename} # ${filename}为任务参数。
echo "文件已上传完成"
exit 0
echo "文件未上传完成"
cnt=$(( $cnt + 1 ))
sleep(60s)
echo "超过300分钟, 文件仍未上传完成, 异常退出"
exit 1
完成离线计算模版的代码开发后,需要配置该离线计算模版的模版变量参数及运行资源。具体操作请参见 步骤三:配置离线计算模版 。
步骤三:配置离线计算模版
-
在离线计算模版的代码开发页面,单击页面上方的 模版信息 。
-
在 模版信息 面板中,配置参数。
模版信息 面板中的 基本信息 区域的模版名称和负责人的参数不支持修改; 运行配置 用于开启离线计算模板的共享运行资源开关; 参数配置 用于配置代码中的模版变量参数的说明、设定默认值及是否加密,如果您修改了代码中的模版变量参数,您可以单击 刷新参数 后,在模版信息面板查看最新模版变量参数。
区域
参数
描述
基本信息
描述
填写离线计算模版的简单描述。
运行配置
共享运行资源
开启共享运行资源后,引用该模版的任务可以共享运行资源。该操作仅限超级管理员执行,如果您需要开启,请联系超级管理员。
参数配置
参数说明
填写代码中的参数说明,便于开发者理解。
默认值
为代码中的参数赋值。后续您可以在引用了该模版的任务中修改该参数值,运行任务后即可生效。
参数加密
开启参数加密后,参数默认值将以密文形式存储,以保护敏感数据。后续在引用该模版的任务中也是无法查看明文的参数默认值,任务运行时Dataphin会自动解密参数默认值。
关闭参数加密后,已配置的参数默认值将自动清空。
-
单击 确定 ,完成离线计算模版的配置。
完成离线计算模版配置后,需要保存、调试和提交模版代码。具体操作请参见 步骤四:保存、调试及提交离线计算模版 。
步骤四:保存、调试及提交离线计算模版
-
在离线计算模版的代码开发页面,按照下图操作指引,保存并调试离线计算模版。
在 参数填写 对话框,您需要为代码中的模版变量参数赋值。本文的代码示例中的模版变量参数为ftpsever、password、username和fliename,因此需要为其赋值后,才能调试开发的代码是否可以正常运行。
-
调试成功后,按照下图操作指引,提交离线计算模版。
提交成功后,您可以按照下图操作指引,查看离线计算模版的版本信息。 同时在 版本信息 面板您也可以进行不同版本的代码对比及查看代码:
-
按照下图操作指引,进行版本对比。版本对比包括代码对比和模版变量参数对比。
-
按照下图操作指引,查看代码。
-
后续步骤
基于已创建的离线计算模版创建对应的任务,具体操作请参见 新建Shell任务 或 创建Python计算任务 。后续您也可以在离线计算模版的代码开发页面,查看离线计算模版被任务引用的情况。