检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
正则表达式参数在源端作业参数中配置,要求源连接为对象存储或者文件系统,且“文件格式”必须选择“CSV格式”。 图1 正则表达式参数 在迁移CSV格式的文件时,CDM支持使用正则表达式分隔字段,并按照解析后的结果写入目的端。
正则表达式参数在源端作业参数中配置,要求源连接为对象存储或者文件系统,且“文件格式”必须选择“CSV格式”。 图1 正则表达式参数 在迁移CSV格式的文件时,CDM支持使用正则表达式分隔字段,并按照解析后的结果写入目的端。
基础操作符 EL表达式支持大部分Java提供的算术和逻辑操作符。 操作符列表 表1 基础操作符 操作符 描述 . 访问一个Bean属性或者一个映射条目 [] 访问一个数组或者链表的元素 () 组织一个子表达式以改变优先级 + 加 - 减或负 * 乘 / 或 div 除 % 或 mod
EL表达式参考 表达式概述 基础操作符 日期和时间模式 Env内嵌对象 Job内嵌对象 StringUtil内嵌对象 DateUtil内嵌对象 JSONUtil内嵌对象 Loop内嵌对象 OBSUtil内嵌对象 常用EL表达式样例合集 EL表达式使用实例 父主题: 数据开发
表达式概述 数据开发模块作业中的节点参数可以使用表达式语言(Expression Language,简称EL),根据运行环境动态生成参数值。可以根据Pipeline输入参数、上游节点输出等决定是否执行此节点。数据开发模块EL表达式使用简单的算术和逻辑计算,引用内嵌对象,包括作业对象和一些工具类对象
JSONUtil内嵌对象 JSONUtil内嵌对象提供了JSON对象方法。 方法 表1 方法说明 方法 描述 示例 Object parse(String jsonStr) 将json字符串转换为对象。 假设变量a为JSON字符串,将json字符串转换为对象,EL表达式如下: #{
如何使用表达式方式获取当前时间? 问题描述 如何使用表达式方式获取当前时间? 解决方案 您可以在字段映射界面使用DateUtils.format(${timestamp()},"yyyy-MM-dd HH:mm:ss")表达式获取当前时间,更多表达式设置方式可以参考表达式转换。 父主题
内容识别:勾选此项后输入自定义正则表达式,该表达式将用于数据内容识别。内容识别正则表达式举例:“^男$|^女&”。 列名识别:勾选此项后输入自定义正则表达式,该表达式将用于字段名精确匹配和模糊匹配两种方式,当前支持多个字段匹配。列名识别正则表达式举例:“age|years”。
邮箱校验 通过内置的正则表达式规则,校验数据表中指定字段的合法情况。 正则表达式校验 通过输入自定义的正则表达式,校验数据表中指定字段的合法情况。 IP地址校验 通过内置的正则表达式规则,校验数据表中指定字段的合法情况。
EL表达式使用实例 通过本示例,用户可以了解数据开发模块EL表达式的如下应用: 如何在数据开发模块的SQL脚本中使用变量? 作业如何传递参数给SQL脚本变量? 在参数中如何使用EL表达式? 背景信息 使用数据开发模块的作业编排和作业调度功能,每日通过统计交易明细表,生成日交易统计报表
常用EL表达式样例合集 本章节介绍常用的EL表达式及示例。 表1 常用的EL表达式 方法 描述 示例 String getNodeStatus(String nodeName) 获取指定节点运行状态,成功状态返回success,失败状态返回fail。 例如,判断节点是否运行成功,可以使用如下判断条件
IF条件判断教程 当您在数据开发模块进行作业开发编排时,想要实现通过设置条件,选择不同的执行路径,可使用IF条件判断。 本教程包含以下三个常见场景举例。 根据前一个节点的执行状态进行IF条件判断 根据前一个节点的输出结果进行IF条件判断 多IF条件下当前节点的执行策略 IF条件的数据来源于
DateUtil内嵌对象 DateUtil内嵌对象提供了一系列时间格式化、时间计算方法。 方法 表1 方法说明 方法 描述 示例 String format(Date date, String pattern) 将Date类型时间按指定pattern格式为字符串。 将作业调度计划的时间
Shell 功能 通过Shell节点执行用户指定的Shell脚本。 Shell节点的后续节点可以通过EL表达式#{Job.getNodeOutput()},获取Shell脚本最后4000字符的标准输出。 使用示例: 获取某个Shell脚本(脚本名称为shell_job1)输出值包含
StringUtil内嵌对象 StringUtil内嵌对象提供了一系列字符串操作方法,例如从一个字符串中截取一个子字符串。 StringUtil内部是由org.apache.commons.lang3.StringUtils实现的,具体使用方法请参考apache commons文档
Loop内嵌对象 使用Loop内嵌对象可获取For Each节点数据集中的数据。 属性 表1 属性说明 属性 类型 描述 示例 dataArray String Loop.dataArray表示For Each节点“数据集”中定义的二维数组。 一般定义格式为#{Loop.dataArray
日期和时间模式 EL表达式中的日期和时间可以按用户指定的格式进行显示,日期和时间格式由日期和时间模式字符串指定。日期和时间模式字符串由A到Z、a到z的非引号字母组成,字母的含义如表1所示。 表1 字母含义 字母 描述 示例 G 纪元标记 AD y 年 2001 M 年中的月份 July
Job内嵌对象 Job为作业对象,提供了获取作业中上一节点的输出消息、作业调度计划时间、作业执行时间等属性和方法。 属性和方法 表1 属性说明 属性 类型 描述 name String 作业名称。 planTime java.util.Date 作业调度计划时间,即周期调度配置的时间
Env内嵌对象 Env内嵌对象提供了获取环境变量值的方法。 方法 表1 方法说明 方法 描述 示例 String get(String name) 获取指定名称环境变量值。 获取环境变量名称为test的参数值: #{Env.get("test")} 举例 获取环境变量名称为test
识别规则 分类类型选择“自定义”,呈现此参数,支持正则表达式。 正则表达式 内容识别:提供的数据识别方式之一,自定义正则表达式。 列名识别:提供字段名精确匹配和模糊匹配方式,支持多个字段匹配。 描述 对当前规则进行简单描述。