
# 开发Pipeline作业
对已新建的作业进行开发和配置。创建作业的大小不超过1MB。
开发Pipeline模式的批处理作业和实时处理作业，请您参考[编排作业节点]、[配置作业基本信息]、[配置作业参数]和[调测并保存作业]章节。
#### 前提条件
- 已创建作业，详情请参见[新建作业](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0434.html)。
- 当前用户已锁定该作业，否则需要通过"抢锁"锁定作业后才能继续开发作业。新建或导入作业后默认被当前用户锁定，详情参见[编辑锁定功能](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0913.html)。
 
 #### 编排作业节点
编排作业节点适用于Pipeline模式的批处理作业和实时处理作业。
1. [登录DataArts Studio管理控制台](https://console.huaweicloud.com/dayu/)。
   详情请参考[访问DataArts Studio实例控制台](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0001.html)。
   
2. 在DataArts Studio控制台首页，选择对应工作空间的"数据开发"模块，进入数据开发页面。
3. 在数据开发主界面的左侧导航栏，选择"数据开发 \> 作业开发"。
4. 在作业目录中，双击Pipeline模式批处理作业或实时处理作业的名称，进入作业开发页面。
5. 拖动所需的节点至画布，鼠标移动到节点图标上，选中连线图标![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0188250448.png)并拖动，连接到下一个节点上。
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
   每个作业建议最多包含200个节点。
   图1编排作业   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001856980525.png "点击放大") 
6. 配置节点功能。右键单击画布中的节点图标，根据实际需要选择如[表1]所示的功能。
    表1右键节点功能 
   | 功能        | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   |:---|:---|
   | 配置        | 进入该节点的"节点属性"页面。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | 删除        | 支持删除一个节点或同时删除多个节点。 - 单节点删除：右键单击画布中的节点图标，选择删除或按快捷键**Delete**。  - 多节点删除：按下键盘中的**Ctrl** ，单击画布中需要删除的节点图标，右键选择删除或按快捷键**Delete**。                                                                                                                 |
   | 复制        | 支持复制一个或多个节点至任意作业中： - 单节点复制：右键单击画布中的节点图标，选择复制或按快捷键**Ctrl+C** ，在作业画布空白处粘贴节点或按快捷键**Ctrl+V**，复制后的节点携带原节点的配置信息。  - 多节点复制：按下键盘中的**Ctrl** ，单击画布中需要复制的节点图标，右键选择复制或按快捷键**Ctrl+C** ，在目标作业画布空白处粘贴或按快捷键**Ctrl+V**。复制后的节点携带原节点的配置信息，但不包含节点间的连接关系。   |
   | 测试运行      | 测试运行该节点。 说明： 用户可以查看该作业节点的测试运行日志，单击"查看日志"可以进入查看日志界面查看日志的详细信息记录。                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | 从当前节点测试运行 | 仅在批作业下显示该选项。选择"从当前节点测试运行"，则测试运行当前节点以及后续节点。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 添加/删除连线   | 可以选择为两个不同的节点添加或删除连线，                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 编辑CDM作业   | 仅CDM Job节点显示该选项。选择CDM集群和作业后，可以跳转到CDM作业编辑页面，进行作业修改。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | 查看CDM作业日志 | 仅CDM Job节点显示该选项。当CDM作业运行后，右键选中CDM Job节点，单击"查看CDM日志"，可以跳转到作业监控页面，查看作业日志打印的详细信息，帮助开发者定界定位作业运行异常原因。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | 编辑脚本      | 仅关联了脚本的节点显示该选项。跳转到脚本编辑页面，对关联的脚本进行编辑。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 新建便签      | 为该节点添加便签，每个节点可以有多个便签。 在作业节点上新建便签、显示便签和隐藏便签只对该节点有效，在画布上方新建便签、显示便签和隐藏便签对整个作业有效。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
      
   
7. （可选）配置连线功能。右键单击画布中的节点间连线，显示"删除"和"设置条件"功能，您可以根据实际需要进行选择。
   - 删除：可以删除节点间的连线。
   
   - 设置条件：在弹出的窗口中，您可以通过EL表达式语法填写三元表达式。当三元表达式结果为true的时候，才会执行连线后面的节点，否则后续节点将被跳过。 如下图所示，是一个典型的三元表达式。当"DQM"节点的运行结果为true时，才会执行连线后的节点。当运行结果为false时，如果失败策略为"跳过所有节点"，则该连线后面的节点A以及A后的所有节点均会被跳过。
     ```
     #{(Job.getNodeStatus("DQM")) == "success" ? "true" : "false"}
     ```
     图2设置条件   
     ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001521842809.png "点击放大")
     
     关于EL表达式的语法，您可以查看[EL表达式参考](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0494.html)；关于IF条件的使用，您可以查看[IF条件判断教程](https://support.huaweicloud.com/bestpractice-dataartsstudio/dataartsstudio_05_0102.html)。
     
    
8. 配置节点属性。单击画布中的节点，在右侧显示"节点属性"页签，默认展开此配置页面，请参见[节点概述](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0442.html)配置具体节点的属性。
 
 #### 配置作业基本信息
为作业配置责任人、优先级信息后，用户可根据责任人、优先级来检索相应的作业。操作方法如下：
单击画布右侧"作业基本信息"页签，展开配置页面，配置如[表2]所示的参数。
 表2作业基本信息 
| 参数           | 说明                                                                                                                                                                                                                                                                                                                             |
|:---|:---|
| 责任人          | 自动匹配创建作业时配置的作业责任人，此处支持修改。仅管理员可修改。                                                                                                                                                                                                                                                                                              |
| 执行用户         | 当"作业调度身份是否可配置"设置为"是"，该参数可见。 执行作业的用户。如果输入了执行用户，则作业以执行用户身份执行；如果没有输入执行用户，则以提交作业启动的用户身份执行。 用户只能指定自己作为执行用户，管理员有修改执行用户的权限。                                                                                                   |
| 作业委托         | 当"作业调度身份是否可配置"设置为"是"，该参数可见。 配置委托后，作业执行过程中，以委托的身份与其他服务交互。                                                                                                                                                                                                                                |
| 作业优先级        | 自动匹配创建作业时配置的作业优先级，此处支持修改。                                                                                                                                                                                                                                                                                                      |
| 实例超时时间       | 配置作业实例的超时时间，设置为0或不配置时，该配置项不生效。如果您为作业设置了异常通知，当作业实例执行时间超过超时时间，将触发异常通知，发送消息给用户，作业不会中断，继续运行。                                                                                                                                                                                                                                       |
| 实例超时是否忽略等待时间 | 配置实例超时是否忽略等待时间。 如果勾选上，表示实例运行时等待时间不会被计入超时时间，可前往[默认项设置 \> 实例超时是否忽略等待时间](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_04501.html#dataartsstudio_01_04501__section14959925164217)修改此策略。 如果未选上，表示实例运行时等待时间会被计入超时时间。 |
| 自定义字段        | 配置自定义字段的参数名称和参数值。                                                                                                                                                                                                                                                                                                              |
| 作业标签         | 配置作业的标签，用以分类管理作业。 单击"新增"，可给作业重新添加一个标签。也可选择[管理作业标签](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0532.html)中已配置的标签。                                                                                                                                      |
| 作业描述         | 作业的描述信息。                                                                                                                                                                                                                                                                                                                       |
   
 #### 配置作业参数
作业参数为全局参数，可用于作业中的任意节点。操作方法如下：
Pipeline模式的批处理作业和实时处理作业，单击画布的空白处，在右侧显示"作业参数配置"页签，单击此页签，展开配置页面，配置如[表3]所示的参数。
 表3作业参数配置 
| 功能      | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|
| **变量**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ||
| 新增      | 单击"新增"，在文本框中填写作业参数的名称和参数值。 - 参数名称 名称只能包含字符：英文字母、数字、点号、中划线和下划线。   - 参数值 - 字符串类的参数直接填写字符串，例如：str1。  - 数值类的参数直接填写数值或运算表达式。     参数配置完成后，在作业中的引用格式为${参数名称}。 说明： - 如果作业中有两个节点，比如第一个Rest Client节点返回了body，第二个节点使用返回的data。如果这个data的长度超过1000000个字符，内容就会被截断。在配置作业参数时，作业的参数值的结果最大不超过1000000个字符。   |
| 编辑参数表达式 | 在参数值文本框后方，单击![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001572193734.png)，编辑参数表达式，更多表达式请参见[表达式概述](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0494.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 修改      | 在参数名和参数值的文本框中直接修改。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 掩码显示    | 在参数值为密钥等情况下，从安全角度，请单击![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001231759561.png)将参数值掩码显示。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 删除      | 在参数值文本框后方，单击![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0210610922.png)，删除作业参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **常量**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ||
| 新增      | 单击"新增"，在文本框中填写作业常量的名称和参数值。 - 参数名称 名称只能包含字符：英文字母、数字、中划线和下划线。   - 参数值 - 字符串类的参数直接填写字符串，例如：str1。  - 数值类的参数直接填写数值或运算表达式。     参数配置完成后，在作业中的引用格式为${参数名称}。                                                                |
| 编辑参数表达式 | 在参数值文本框后方，单击![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001572512634.png)，编辑参数表达式，更多表达式请参见[表达式概述](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0494.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 修改      | 在参数名和参数值的文本框中直接修改，修改完成后，请保存。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 删除      | 在参数值文本框后方，单击![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0210610922.png)，删除作业常量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **工作空间环境变量**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ||
| 查看工作空间已配置的变量和常量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ||
   
单击"作业参数预览"页签，展开预览页面，配置如[表4]所示的参数。
![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
MRS Flink Job、DLI Flink Job、DLI SQL、DWS SQL、MRS HetuEngine、MRS ClickHouse SQL、MRS Hive SQL、MRS Impala SQL、MRS Presto SQL、MRS Spark SQL、RDS SQL的算子脚本参数支持参数预览。
 表4作业参数预览 
| 功能     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|
| 当前时间   | 仅单次调度才显示。系统默认为当前时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 事件触发时间 | 仅事件驱动调度才显示。系统默认为事件触发时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 周期调度   | 仅周期调度才显示。系统默认为调度周期。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 具体时间   | 仅周期调度才显示。周期调度配置的具体运行时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 起始日期   | 仅周期调度才显示。周期调度的生效时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 后N个实例  | 作业运行调度的实例个数。 - 单次调度场景默认为1。  - 事件驱动调度场景默认为1。  - 周期调度场景 当实例数大于10时，系统最多展示10个日期实例，系统会自动提示"当前参数预览最多支持查看10个实例"。    |
   
![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
在作业参数预览中，如果作业参数配置存在语法异常情况系统会给出提示信息。
如果参数配置了依赖作业实际运行时产生的数据，参数预览功能中无法模拟此类数据，则该数据不展示。
 #### 调测并保存作业
作业编排和配置完成后，请执行以下操作：
**批处理作业**
1. 单击画布上方的测试运行按钮，会弹出测试参数配置的弹框，自动显示作业的变量参数，单击"确定"，测试作业。如果测试未通过，请您查看作业节点的运行日志，进行定位处理。 
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
   - 用户可以查看该作业的测试运行日志，单击"查看日志"可以进入查看日志界面查看日志的详细信息记录。
   
   - 作业未提交版本之前，进行手动测试运行，作业监控里面的作业运行实例版本显示是0。
   
   - 进行手动测试运行时，作业测试运行日志查看有权限管控，比如，用户A进行作业测试运行后，可以在"实例监控"页面查看测试运行日志，不允许用户B查看该测试运行日志。
   
   - 在配置测试运行参数时，系统会根据参数值的格式自动推断其数据类型：
     - 数值类型处理：若直接填写数字（如001、123），系统将按照数值类型进行解析。此时，前面为零会被自动忽略，例如，输入001将被解析为1。
     
     - 字符串类型保留：若需保留参数的原始字符串格式（包括前面为零、特殊字符等），必须使用英文双引号将参数值包裹。例如，输入"001"将被识别为字符串类型，系统会完整保留其内容001。
      
    
   
   
   
2. 测试通过后，单击画布上方的"保存"，保存作业的配置信息。 
   保存后，在右侧的版本里面，会自动生成一个保存版本，支持版本回滚。保存版本时，一分钟内多次保存只记录一次版本。对于中间数据比较重要时，可以通过"新增版本"按钮手动增加保存版本。
   
   
**实时处理作业**
1. 单击画布上方的"保存"，保存作业的配置信息。 
   保存后，在右侧的版本里面，会自动生成一个保存版本，支持版本回滚。保存版本时，一分钟内多次保存只记录一次版本。对于中间数据比较重要时，可以通过"新增版本"按钮手动增加保存版本。
   
   
2. [提交](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0902.html)作业版本后，单击画布上方的"启动"，运行作业。运行完以后，前往实时作业监控查看作业运行结果。实时作业是一直在运行的，您可以单击"停止"，对运行中的实时作业进行停止。同时，实时作业不支持作业调度配置。
 
