上云无忧 > 文档中心 > 天翼云数据治理中心 DataArts Studio EL表达式 - 表达式使用示例
数据治理中心 DataArts Studio
天翼云数据治理中心 DataArts Studio EL表达式 - 表达式使用示例

文档简介:
本章节主要介绍DataArts Studio的表达式使用示例流程。 通过本示例,用户可以了解数据开发模块EL表达式的如下应用: 如何在数据开发模块的SQL脚本中使用变量? 作业如何传递参数给SQL脚本变量? 在参数中如何使用EL表达式?
*产品来源:中国电信天翼云。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

通过本示例,用户可以了解数据开发模块EL表达式的如下应用:

  • 如何在数据开发模块的SQL脚本中使用变量?
  • 作业如何传递参数给SQL脚本变量?
  • 在参数中如何使用EL表达式?

背景信息

使用数据开发模块的作业编排和作业调度功能,每日通过统计交易明细表,生成日交易统计报表。

本示例涉及的数据表如下所示:

  • trade_log:记录每一笔交易数据。
  • trade_report:根据trade_log统计产生,记录每日交易汇总。

前提条件

  • 已建立DLI的数据连接,以“dli_demo”数据连接为例。

如未建立,请参考创建数据连接进行操作。

  • 已在DLI中创建数据库,以“dli_db”数据库为例。

如未创建,请参考新建数据库进行操作。

  • 已在“dli_db”数据库中创建数据表trade_log和trade_report。

如未创建,请参考新建数据表进行操作。

操作步骤

1.新建和开发SQL脚本。

a.在数据开发模块控制台的左侧导航栏,选择“数据开发 > 脚本开发”。

b.进入右侧区域页面,选择“新建SQL脚本 > DLI”。

c.进入SQL脚本开发页面,在脚本属性栏选择“数据连接”、“数据库”、“资源队列”。

d.在脚本编辑器中输入以下SQL语句。

INSERT OVERWRITE TABLE trade_report
SELECT
sum(trade_count),
'${yesterday}'
FROM
trade_log
where
date_format(trade_time, 'yyyy-MM-dd') = '${yesterday}'复制

e.单击,将脚本的名称设置为“generate_trade_report”。

2.新建和开发作业。

a.在数据开发模块控制台的左侧导航栏,选择“数据开发 > 作业开发”。

b.进入右侧区域页面,单击“新建作业”,新建一个名称为“job”的空作业。

c.进入作业开发页面,将DLI SQL节点拖至画布中,单击其图标并配置“节点属性”。

关键属性说明:

  • SQL脚本:关联步骤1中开发完成的SQL脚本“generate_trade_report”。
  • 数据库名称:自动填写SQL脚本“generate_trade_report”中选择的数据库。
  • 队列名称:自动填写SQL脚本“generate_trade_report”中选择的资源队列。
  • 脚本参数:显示SQL脚本“generate_trade_report”中的参数“yesterday”,输入以下EL表达式作为其参数值。

#{Job.getYesterday("yyyy-MM-dd")}

EL表达式说明:Job为作业对象,通过getYesterday方法获取作业计划执行时间前一天的时间,时间格式为yyyy-MM-dd。

假设作业计划执行时间为2018/9/26 01:00:00,这个表达式计算结果是2018-09-25,该计算结果将替换SQL脚本中的${yesterday}参数。替换后的SQL内容如下:

INSERT OVERWRITE TABLE trade_report
SELECT
sum(trade_count),
'2018-09-25'
FROM
trade_log
where
date_format(trade_time, 'yyyy-MM-dd') = '2018-09-25'复制

d.单击,测试运行作业。

e.作业测试无问题后,单击,保存作业配置。

相似文档
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部