灵活运用DataWorks参数配置

2023-10-23 23:59

本文主要是介绍灵活运用DataWorks参数配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

阅读全文请点击

数据工场DataWorks (原大数据开发套件Data IDE) 是基于MaxCompute作为计算和存储引擎的,并用于工作流可视化开发和托管调度运维的海量数据离线分析平台。DataWorks可以按照时间和依赖关系,实现任务的全面托管和调度。在这里,笔者跟大家探讨一下众多DataWorks用户经常遇到的一类问题,就是在DataWorks中如何灵活运用参数配置这个功能。

很多用户的需求场景是和时间有关的。为使周期运行的任务能根据运行时间的变化而变化,DataWorks提供了系统参数和自定义参数等两种参数,供用户来使用。下面来具体介绍下。

一、系统参数

DataWorks(数据工场)提供了 2 个系统参数,定义如下:
${bdp.system.cyctime}:定义为一个实例的定时运行时间,默认格式为: yyyymmddhh24miss。
${bdp.system.bizdate}:定义为一个实例运行时对应的业务日期,业务日期默认为运行日期的前一天,默认以 yyyymmdd 的格式显示。

从定义可知,运行时间和业务日期有如下计算公式:运行时间=(业务日期+1)+定时时间。
若使用系统参数,可以直接在代码中引用 ${bdp.system.bizdate} 和 ${bdp.system.cyctime} 即可,系统在调度运行时将自动把这两个参数替换成相应的时间。
很多用户的周期任务都是和日期/时间有关的,比如某用户的一个周期任务,每天都要处理昨天产生的业务数据,用户需要先按照昨天的日期创建一个分区,然后再把昨天的相关数据写入到该分区下。这里以每天周期运行,生成一个新的分区为例,为大家演示如何灵活利用好这两个系统参数。

image

如上图所示,首先新建一个分区表tbltest1,分区字段有3个,分别是sale_biz_date ,sale_curtime 和 region,其中sale_biz_date代表业务日期,sale_curtime代表运行时间,region代表区域。
上图中,sql任务的目的是,为表tbltest1增加一个分区,分区中使用了2个系统参数,每次运行该任务时,这两个系统参数${bdp.system.bizdate} 和 ${bdp.system.cyctime}都会被分别替换成具体日期和时间。

image

如上图所示,在这个sql周期任务的“调度配置”处,设置成小时周期任务,并且从0点开始,每小时执行一次,这样1天理论上每个小时就会产生一个实例。
通过上图的设置,每个小时都会运行一次这个sql任务。在DataWorks的“运维中心”——“任务运维”——“周期实例”下可以看到每个小时都会产生一个任务实例,如下图所示。

image

点击进到某个任务实例,比如0点这个实例,点击工作流中对应的sql任务节点,点击“运行日志”,能看到在日志中,sql语句alter table tbltest1 add partition(sale_biz_date='${bdp.system.bizdate}',sale_curtime='${bdp.system.cyctime}', region='china');中的系统参数${bdp.system.bizdate}已经被替换成了20180304,而${bdp.system.cyctime}已经被替换成了20180305000000。这正是符合我们的预期的。

image


这篇关于灵活运用DataWorks参数配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/271313

相关文章

Nginx配置location+rewrite实现隐性域名配置

《Nginx配置location+rewrite实现隐性域名配置》本文主要介绍了Nginx配置location+rewrite实现隐性域名配置,包括基于根目录、条件和反向代理+rewrite配置的隐性... 目录1、配置基于根目录的隐性域名(就是nginx反向代理)2、配置基于条件的隐性域名2.1、基于条件

Linux配置IP地址的三种实现方式

《Linux配置IP地址的三种实现方式》:本文主要介绍Linux配置IP地址的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录环境RedHat9第一种安装 直接配置网卡文件第二种方式 nmcli(Networkmanager command-line

VSCode配置Anaconda Python环境的实现

《VSCode配置AnacondaPython环境的实现》VisualStudioCode中可以使用Anaconda环境进行Python开发,本文主要介绍了VSCode配置AnacondaPytho... 目录前言一、安装 Visual Studio Code 和 Anaconda二、创建或激活 conda

IDEA连接达梦数据库的详细配置指南

《IDEA连接达梦数据库的详细配置指南》达梦数据库(DMDatabase)作为国产关系型数据库的代表,广泛应用于企业级系统开发,本文将详细介绍如何在IntelliJIDEA中配置并连接达梦数据库,助力... 目录准备工作1. 下载达梦JDBC驱动配置步骤1. 将驱动添加到IDEA2. 创建数据库连接连接参数

SpringBoot接收JSON类型的参数方式

《SpringBoot接收JSON类型的参数方式》:本文主要介绍SpringBoot接收JSON类型的参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、jsON二、代码准备三、Apifox操作总结一、JSON在学习前端技术时,我们有讲到过JSON,而在

JAVA虚拟机中 -D, -X, -XX ,-server参数使用

《JAVA虚拟机中-D,-X,-XX,-server参数使用》本文主要介绍了JAVA虚拟机中-D,-X,-XX,-server参数使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录一、-D参数二、-X参数三、-XX参数总结:在Java开发过程中,对Java虚拟机(JVM)的启动参数进

MyBatis的配置对象Configuration作用及说明

《MyBatis的配置对象Configuration作用及说明》MyBatis的Configuration对象是MyBatis的核心配置对象,它包含了MyBatis运行时所需的几乎所有配置信息,这个对... 目录MyBATis配置对象Configuration作用Configuration 对象的主要作用C

IDEA与JDK、Maven安装配置完整步骤解析

《IDEA与JDK、Maven安装配置完整步骤解析》:本文主要介绍如何安装和配置IDE(IntelliJIDEA),包括IDE的安装步骤、JDK的下载与配置、Maven的安装与配置,以及如何在I... 目录1. IDE安装步骤2.配置操作步骤3. JDK配置下载JDK配置JDK环境变量4. Maven配置下

Springboot的自动配置是什么及注意事项

《Springboot的自动配置是什么及注意事项》SpringBoot的自动配置(Auto-configuration)是指框架根据项目的依赖和应用程序的环境自动配置Spring应用上下文中的Bean... 目录核心概念:自动配置的关键特点:自动配置工作原理:示例:需要注意的点1.默认配置可能不适合所有场景

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题