DataWorks中业务日期和定时时间的理解

本文涉及的产品
大数据开发治理平台 DataWorks,不限时长
简介: 很多同学不明白,业务日期和定时时间的区别。我们做离线统计,最常见的是今天处理昨天的数据。这里今天就是运行日期(也叫定时时间),昨天就是业务日期。

业务日期和定时时间结合调度参数使用

关于调度参数的使用,可以参考一下官网文档:参数配置
给大家解析一下这篇文档:

DataWorks调度系统参数:

调度系统参数:这两个调度系统参数无需赋值,可直接使用。

  • ${bdp.system.cyctime}:定义为一个实例的定时运行时间,默认格式为:yyyymmddhh24miss。
  • ${bdp.system.bizdate}:定义为一个实例计算时对应的业务日期,业务日期默认为运行日期的前一天,默认以 yyyymmdd 的格式显示(业务日期不精确到时分秒)。

DataWorks 自定义调度参数:有时候我们需要对时间参数进行加减,此时使用调度系统参数已经无法满足我们的需求了。面对这种情况,DataWorks 提供了自定义调度参数,用户可根据自己的业务需求,灵活的对时间参数进行加减,完美的解决各种复杂的场景。

自定义系统参数

自定义系统参数是以 bdp.system.cyctime 为基准的,任何的时间加减都是以定时时间为基线,向上或者向下移动。

举个例子:

代码为: select ${today} from dual ;

注 :其中 ${today} 是声明变量

调度配置为:today = $[yyyymmdd]

注:其中 $[yyyymmdd] 是给声明的变量赋值

测试运行的时候,选择的业务日期是 20180305,测试运行时,日志中打印出来的实际运行sql为:select 20180306 from dual;

附上一张步骤图

image

敲黑板:请注意调度参数的配置时 , 声明变量的符号和赋值的符号是不一样的,详情如下:

  • ${} 这个符号是声明变量时使用的;
  • $[] 这个符号是给变量赋值的时候使用的;

以下提供一些调度参数的赋值方法:

  • 后N年:$[add_months(yyyymmdd,12*N)]
  • 前N年:$[add_months(yyyymmdd,-12*N)]
  • 后N月:$[add_months(yyyymmdd,N)]
  • 前N月:$[add_months(yyyymmdd,-N)]
  • 后N周:$[yyyymmdd+7*N]
  • 前N周:$[yyyymmdd-7*N]
  • 后N天:$[yyyymmdd+N]
  • 前N天:$[yyyymmdd-N]
  • 后N小时:$[hh24miss+N/24]
  • 前N小时:$[hh24miss-N/24]
  • 后N分钟:$[hh24miss+N/24/60]
  • 前N分钟:$[hh24miss-N/24/60]

小时级调度的例子

例一

业务场景1:查看业务日期为 20180305 的小时任务,上午 3 点的实例,运行时执行的代码。

代码:select ${min} from dual ;

注:其中 ${min} 是声明变量

调度配置:min = $[yyyymmddhh24miss]

注:其中 $[yyyymmddhh24miss] 是给声明的变量赋值

测试运行时,日志中的运行代码为:select 20180306030000 from dual ;

例二

业务场景2:如何获得业务日期为 20180305 的小时任务,上午 3 点的实例,前 15 分钟的时间。

代码 : select ${min} from dual;

注:其中 ${min} 是声明变量

调度配置:min = $[yyyymmddhh24miss-15/24/60]

注:其中 $[yyyymmddhh24miss-15/24/60] 是给声明的变量赋值

测试运行时,日志中的运行代码为:select 20180306024500 from dual ;

测试调度参数

有不少同学可能没有接触过如何测试调度参数,这里放上我之前写的一篇文章《解析Dataworks中的运行和测试运行的区别》 ,调度参数和测试运行是需要结合使用的,没有经过调度系统,调度参数是无法生效的。

注:如果对此还有不了解的地方,请加入钉钉群,AT 彭敏 & 李珍珍获取技术支持。

image

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
一站式大数据开发治理平台DataWorks初级课程
DataWorks 从 2009 年开始,十ー年里一直支持阿里巴巴集团内部数据中台的建设,2019 年双 11 稳定支撑每日千万级的任务调度。每天阿里巴巴内部有数万名数据和算法工程师正在使用DataWorks,承了阿里巴巴 99%的据业务构建。本课程主要介绍了阿里巴巴大数据技术发展历程与 DataWorks 几大模块的基本能力。 课程目标  通过讲师的详细讲解与实际演示,学员可以一边学习一边进行实际操作,可以深入了解DataWorks各大模块的使用方式和具体功能,让学员对DataWorks数据集成、开发、分析、运维、安全、治理等方面有深刻的了解,加深对阿里云大数据产品体系的理解与认识。 适合人群  企业数据仓库开发人员  大数据平台开发人员  数据分析师  大数据运维人员  对于大数据平台、数据中台产品感兴趣的开发者
目录
相关文章
|
SQL 分布式计算 Unix
阿里云-DataWorks- ODPS SQL开发3-日期与字符、数学运算、聚合函数函数
阿里云-DataWorks- ODPS SQL开发3 本文主要讲解日常大量会接触到的一些常用的日期与字符、数学运算、聚合函数函数。
|
1月前
|
运维 DataWorks 大数据
DataWorks常见问题之DataWorks补数据日期不按顺序排如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
SQL DataWorks NoSQL
DataWorks常见问题之如何自定义日期参数
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
33 0
|
运维 DataWorks 调度
DataWorks百问百答12:定时时间到了,任务为什么还不运行呢?
DataWorks百问百答12:定时时间到了,任务为什么还不运行呢?
2266 0
|
分布式计算 DataWorks MaxCompute
使用Dataworks同步Elasticsearch至MaxCompute 日期类型为\N的解决办法
Dataworks同步阿里云ES到MaxCompute中时间格式为/N的解决方案
|
DataWorks 测试技术 调度
DataWorks:通过业务时间维度来看自定义参数“[ ]”与“{ }”的区别
DataWorks:通过业务时间维度来看自定义参数“[ ]”与“{ }”的区别
4340 0
|
分布式计算 DataWorks 大数据
介绍DataWorks快速构建数仓并应用到业务上的实例
用实例介绍使用dataworks快速创建数仓
2570 0
|
1月前
|
SQL 分布式计算 DataWorks
DataWorks常见问题之dataworks连接FTP服务器失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
SQL 分布式计算 DataWorks
DataWorks常见问题之dataworks自定义函数运行时报错如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
SQL DataWorks 关系型数据库
DataWorks常见问题之dataworks同步Rds任务失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。