DataWorks是阿里云上的一款热门产品,可以为用户提供大数据开发调度服务。它支持了Data Lake Analytics(后文简称DLA)以后,DLA用户可以通过它进行定时任务调度,非常方便。本文将主要介绍如何使用DataWorks调度DLA的循环任务。

场景

使用DLA对历史数据按天做清洗。数据清洗的SQL是固定的,只是每次执行的时候需要传入不同的日期。

对于这个场景,我们需要:

  1. 部署一个赋值节点。该节点负责输出日期值,并作为下游循环节点的输入。
  2. 部署一个循环节点。该节点包含用来做数据清洗的一个或者一组SQL,其中关于日期取值是一个变量。每次循环输入值由赋值节点提供。

DataWorks操作

步骤一:新建业务流程和节点

登录DataWorks的控制台,并创建一个业务流程或使用原有的业务流程。

在新建的业务流程下,创建一个赋值节点和一个循环节点。

步骤二:配置赋值节点

打开节点“日期集合”的编辑页面。这里我们选择SHELL语言,将要执行的日期值写在一个数组里。

打开节点“日期集合”的调度配置页面。
在这里需要给赋值节点设置一个上游节点,这里可以设置为当前工作空间的root。比如我的工作空间名字叫jinluo_poc,则该节点为jinluo_poc_root。

步骤三:配置循环节点

双击循环节点进入编辑页面。可以看到三个节点,分别是start, sql和end。这里我们需要新建一个DLA的任务节点,并把sql替换为一个DLA的任务节点。

在调度配置页面设置依赖关系和节点上下文。上游节点设置为赋值节点“日期集合”,本节点的输入为赋值节点的输出。

设置DLA_SQL节点

选择一个DLA的数据源,并填写SQL。

这里面的pure_date的值是从赋值节点读入的。每次读取赋值节点的输出结果数组中的一个值。写法是固定的,如下所示。

h.`pure_date`=${dag.input[${dag.offset}]}

设置end节点

该节点的作用是控制循环的结束。
end节点的结束条件:是把dag.loopTimes进行比较,小于则输出True继续循环;不小于则输出False退出循环。dag.input.length变量,标识上下文参数input数组的行数。是系统自动根据节点配置的上下文下发的变量。

if ${dag.loopTimes} < ${dag.input.length}:
print True
else:
print False

在调度配置页面,需要设置上游节点。

设置完成,保存后,可以看到循环节点变更为

步骤四:发布

目前在DataWorks的开发界面暂不支持循环节点的运行,需要提交后在运维中心测试运行。
分别点击 “日期集合”和“数据清洗SQL”页面上的“提交按钮”进行提交。

在提交循环节点时,注意要勾选上所有的节点。

步骤五:运行

进入运维中心页面,在周期任务的列表里面可以看到我们刚刚提交的两个作业。

右键“日期集合” -> 补数据 -> 当前节点及下游节点 可以手动执行该组任务。

提交后可以看到每个节点的运行状态。

参考

  1. DataWorks官方文档:

http://help.aliyun-inc.com/internaldoc/detail/102311.html?spm=a2c1f.8259796.2.25.24fa96d5a5twQO


本文作者:金络

原文链接

本文为云栖社区原创内容,未经允许不得转载。

使用DataWorks调度DLA循环任务的更多相关文章

  1. Data Lake Analytics: 使用DataWorks来调度DLA任务

    DataWorks作为阿里云上广受欢迎的大数据开发调度服务,最近加入了对于Data Lake Analytics的支持,意味着所有Data Lake Analytics的客户可以获得任务开发.任务依赖 ...

  2. [译] 所有你需要知道的关于完全理解 Node.js 事件循环及其度量

    原文地址:All you need to know to really understand the Node.js Event Loop and its Metrics 原文作者:Daniel Kh ...

  3. Linux系列(12)之例行工作调度

    你知道工作调度有哪几种吗? 你知道在进行工作调度时需要哪些服务在运行吗? 你知道突发性工作调度的指令at的用法吗? 知道如何管理at的工作调度吗? 知道at指令进行工作调度的原理吗? 知道什么是背景任 ...

  4. 通过DataWorks数据集成归档日志服务数据至MaxCompute进行离线分析

    通过DataWorks归档日志服务数据至MaxCompute 官方指导文档:https://help.aliyun.com/document_detail/68322.html但是会遇到大家在分区上或 ...

  5. 【阿里云-大数据】阿里云DataWorks学习视频汇总

    阿里云DataWorks学习视频汇总 注意:本文档中引用的视频均来自阿里云官方的帮助文档,本文档仅仅是汇总整理,方便学习. 阿里云DataWorks帮助文档链接:https://help.aliyun ...

  6. 阿里云DataWorks实践:数据集成+数据开发

    简介 什么是DataWorks: DataWorks(数据工场,原大数据开发套件)是阿里云重要的PaaS(Platform-as-a-Service)平台产品,为您提供数据集成.数据开发.数据地图.数 ...

  7. Dataworks批量刷数优化方案探讨

    Dataworks批量刷数优化方案探讨 在数据仓库的日常使用中,经常会有批量补数据,或者逻辑调整后批量重跑数据的场景. 批量刷数的实现方式,因调度工具差异而各有不同. Dataworks调度批量刷数局 ...

  8. 应用OpenMP的一个简单的设计模式

    小喵的唠叨话:最近很久没写博客了,一是因为之前写的LSoftmax后馈一直没有成功,所以在等作者的源码.二是最近没什么想写的东西.前两天,在预处理图片的时候,发现处理200w张图片,跑了一晚上也才处理 ...

  9. python之协程与IO操作

    协程 协程,又称微线程,纤程.英文名Coroutine. 协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用. 子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B ...

随机推荐

  1. javascript基础:语法与html结合方式

    一.基本语法: 1.与html结合方式 1.内部JS: *  定义<script>,标签体内容就是JS代码 2.外部JS: *  定义<script>,通过src属性引入外部的 ...

  2. H5C3--边框图片

    类似于android的.9图片,目的是为了防止图片因为内容的扩展而导致图片拉伸失真. <!DOCTYPE html> <html lang="en"> &l ...

  3. 配置 CentOS 7 的网络,及重命名网卡名

    Centos 安装时应配置网络,如果当时没配置好,则装完系统后, 也可通过修改配置文件并重启网络服务进行配置. 说明:CentOS 7.0默认安装好之后是没有自动开启网络连接的! cd /etc/sy ...

  4. MacBook 启用或停用 root 用户

    启用或停用 root 用户 选取苹果菜单 () >“系统偏好设置”,然后点按“用户与群组”(或“帐户”). 点按 ,然后输入管理员名称和密码. 点按“登录选项”. 点按“加入”(或“编辑”). ...

  5. day36 06-Hibernate抓取策略:set集合上的抓取策略

    你在做查询的时候它可以帮你关联出它的一些相应的关联对象.那么它关联这个对象的时候是在什么时候发送的这些语句以及它是如何把这些数据拿出来的? 知道延迟检索是怎么回事了,而且它也能够产生这个代理对象.当你 ...

  6. T2848 列车调度(二分或dp)

    题目背景 自行脑补, 题目描述 有N辆列车,标记为1,2,3,…,N.它们按照一定的次序进站,站台共有K个轨道,轨道遵从先进先出的原则.列车进入站台内的轨道后可以等待任意时间后出站,且所有列车不可后退 ...

  7. 洛谷P2912 [USACO08OCT]牧场散步Pasture Walking [2017年7月计划 树上问题 01]

    P2912 [USACO08OCT]牧场散步Pasture Walking 题目描述 The N cows (2 <= N <= 1,000) conveniently numbered ...

  8. CSS实现火焰效果

    代码如下 //主要就是用css动画实现的 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  9. PHP通过sql生成CSV文件并下载,PHP实现文件下载

    /** * PHP通过sql生成CSV文件并下载 * @param string $sql 查询sql,结果为二维数组 * @param array $title 数据,CSV文件标题 * @para ...

  10. MongoDB 定位 oplog 必须全表扫描吗?

    MongoDB oplog (类似于 MySQL binlog) 记录数据库的所有修改操作,除了用于主备同步:oplog 还能玩出很多花样,比如 全量备份 + 增量备份所有的 oplog,就能实现 M ...