检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
EL表达式使用实例 通过本示例,用户可以了解数据开发模块EL表达式的如下应用: 如何在数据开发模块的SQL脚本中使用变量? 作业如何传递参数给SQL脚本变量? 在参数中如何使用EL表达式? 背景信息 使用数据开发模块的作业编排和作业调度功能,每日通过统计交易明细表,生成日交易统计报表。
统,且“文件格式”必须选择“CSV格式”。 图1 正则表达式参数 在迁移CSV格式的文件时,CDM支持使用正则表达式分隔字段,并按照解析后的结果写入目的端。正则表达式语法请参考对应的相关资料,这里举例下面几种日志文件的正则表达式的写法: Log4J日志 Log4J审计日志 Tomcat日志
统,且“文件格式”必须选择“CSV格式”。 图1 正则表达式参数 在迁移CSV格式的文件时,CDM支持使用正则表达式分隔字段,并按照解析后的结果写入目的端。正则表达式语法请参考对应的相关资料,这里举例下面几种日志文件的正则表达式的写法: Log4J日志 Log4J审计日志 Tomcat日志
EL表达式参考 表达式概述 基础操作符 日期和时间模式 Env内嵌对象 Job内嵌对象 StringUtil内嵌对象 DateUtil内嵌对象 JSONUtil内嵌对象 Loop内嵌对象 OBSUtil内嵌对象 常用EL表达式样例合集 EL表达式使用实例 父主题: 数据开发
表达式概述 数据开发模块作业中的节点参数可以使用表达式语言(Expression Language,简称EL),根据运行环境动态生成参数值。可以根据Pipeline输入参数、上游节点输出等决定是否执行此节点。数据开发模块EL表达式使用简单的算术和逻辑计算,引用内嵌对象,包括作业对象和一些工具类对象。
基础操作符 EL表达式支持大部分Java提供的算术和逻辑操作符。 操作符列表 表1 基础操作符 操作符 描述 . 访问一个Bean属性或者一个映射条目 [] 访问一个数组或者链表的元素 () 组织一个子表达式以改变优先级 + 加 - 减或负 * 乘 / 或 div 除 % 或 mod
如何使用表达式方式获取当前时间? 问题描述 如何使用表达式方式获取当前时间? 解决方案 您可以在字段映射界面使用DateUtils.format(${timestamp()},"yyyy-MM-dd HH:mm:ss")表达式获取当前时间,更多表达式设置方式可以参考表达式转换。 父主题:
常用EL表达式样例合集 本章节介绍常用的EL表达式及示例。 表1 常用的EL表达式 方法 描述 示例 String getNodeStatus(String nodeName) 获取指定节点运行状态,成功状态返回success,失败状态返回fail。 例如,判断节点是否运行成功,
列名识别:勾选此项后输入自定义正则表达式,该表达式将用于字段名精确匹配和模糊匹配两种方式,当前支持多个字段匹配。列名识别正则表达式举例:“age|years”。 备注识别:勾选此项后输入自定义正则表达式,例如“.*comment.*”代表模糊匹配备注。 相关操作 编辑识别规则:
getNodeStatus("CDM")) == "fail" ? "true" : "false"} 输入IF条件表达式后,配置IF条件匹配失败策略,可选择仅跳过相邻的下一个节点,或者跳过该IF分支后续所有节点。配置完成后单击确定,保存作业。 图3 配置失败策略 测试运行作业,并前往实例监控中查看执行结果。
JSONUtil内嵌对象 JSONUtil内嵌对象提供了JSON对象方法。 方法 表1 方法说明 方法 描述 示例 Object parse(String jsonStr) 将json字符串转换为对象。 假设变量a为JSON字符串,将json字符串转换为对象,EL表达式如下: #{JSONUtil
数据库、NoSQL导出到文件。 选择了CSV格式后,通常还可以配置以下可选子参数: 1.换行符 2.字段分隔符 3.编码类型 4.使用包围符 5.使用正则表达式分隔字段 6.首行为标题行 7.写入文件大小 换行符 用于分隔文件中的行的字符,支持单字符和多字符,也支持特殊字符。特殊字符可以使用URL编码输入,例如:
通过内置的正则表达式规则,校验数据表中指定字段的合法情况(如果数据为空,则视为非法字段)。 邮箱校验 通过内置的正则表达式规则,校验数据表中指定字段的合法情况。 正则表达式校验 通过输入自定义的正则表达式,校验数据表中指定字段的合法情况。 IP地址校验 通过内置的正则表达式规则,校验数据表中指定字段的合法情况。
选择否,CSV中的\作为数据不会进行转义。 是 使用正则表达式分隔字段 文件格式为CSV格式时支持此参数。 是否使用正则表达式分隔字段。 是 正则表达式 文件格式为CSV格式且使用正则表达式分隔字段为是时支持此参数。 分隔字段的正则表达式。 ^(\d.*\d) (\w*) \[(.*)\]
符。 是 使用正则表达式分隔字段 选择是否使用正则表达式分隔字段,当选择“是”时,“字段分隔符”参数无效。当“文件格式”选择为“CSV格式”时,才有该参数。 是 正则表达式 当“使用正则表达式分隔字段”选择为“是”时,才有该参数。 分隔字段的正则表达式,正则表达式写法请参考正则表达式分隔半结构化文本。
数据库、NoSQL导出到文件。 选择了CSV格式后,通常还可以配置以下可选子参数: 1.换行符 2.字段分隔符 3.编码类型 4.使用包围符 5.使用正则表达式分隔字段 6.首行为标题行 7.写入文件大小 换行符 用于分隔文件中的行的字符,支持单字符和多字符,也支持特殊字符。特殊字符可以使用URL编码输入,例如:
SV只支持\作为转义符。 是 使用正则表达式分隔字段 选择是否使用正则表达式分隔字段,当选择“是”时,“字段分隔符”参数无效。当“文件格式”选择为“CSV格式”时,才有该参数。 是 正则表达式 分隔字段的正则表达式,正则表达式写法请参考正则表达式分隔半结构化文本。 ^(\d.*\d)
SV只支持\作为转义符。 是 使用正则表达式分隔字段 选择是否使用正则表达式分隔字段,当选择“是”时,“字段分隔符”参数无效。当“文件格式”选择为“CSV格式”时,才有该参数。 是 正则表达式 分隔字段的正则表达式,正则表达式写法请参考正则表达式分隔半结构化文本。 ^(\d.*\d)
定义数据分类规则,名称必须唯一。 识别规则 分类类型选择“自定义”,呈现此参数,支持正则表达式。 正则表达式 内容识别:提供的数据识别方式之一,自定义正则表达式。 列名识别:提供字段名精确匹配和模糊匹配方式,支持多个字段匹配。 描述 对当前规则进行简单描述。 新建分组 在DataArts St
Shell 功能 通过Shell节点执行用户指定的Shell脚本。 Shell节点的后续节点可以通过EL表达式#{Job.getNodeOutput()},获取Shell脚本最后4000字符的标准输出。 使用示例: 获取某个Shell脚本(脚本名称为shell_job1)输出值包