使用DataWorks来调度AnalyticDB任务

DataWorks做为阿里云上广受欢迎的大数据开发调度服务,最近加入了对于AnalyticDB的支持,意味着全部的AnalyticDB客户能够得到任务开发、任务依赖关系管理、任务调度、任务运维等等全方位强大的能力,如今就给你们仔细介绍下如何使用DataWorks来调度AnalyticDB任务。数据库

开通AnalyticDB

进入阿里云分析型数据库 MySQL版产品详情页,点击免费试用。最近上线了15天免费试用活动,须要首先填写申请表单,审批经过后便可享受免费试用AnalyticDB活动。进入购买页面,选择好地域、可用区、ECU类型、ECU数量和数据库名,点击当即购买,稍等几分钟时间就能够开通AnalyticDB实例。
安全

开通DataWorks

开通完AnalyticDB服务后,紧接着要开通DataWorks。选择好region后点击下一步。

填写工做空间名称,注意模式要改为“标准模式”,建立工做空间。
运维

AnalyticDB中表和数据准备

为了演示如何在DataWorks上调度AnalyticDB的任务,咱们后面会用到一些测试数据,这里咱们用著名的TPCH的测试数据集中的ORDERS表, 数据已经提早存入表中。
前面开通成功后,咱们就能够在AnalyticDB中找到数据库,登录数据库后,建立ORDERS表,以下:ide

CREATE TABLE ads_dla_test.orders (
  o_orderkey int COMMENT '',
  o_custkey int COMMENT '',
  o_orderstatus varchar COMMENT '',
  o_totalprice double COMMENT '',
  o_orderdate date COMMENT '',
  o_orderpriority varchar COMMENT '',
  o_clerk varchar COMMENT '',
  o_shippriority int COMMENT '',
  o_comment varchar COMMENT '',
  PRIMARY KEY (O_ORDERKEY,O_CUSTKEY)
)
PARTITION BY HASH KEY (O_ORDERKEY) PARTITION NUM 32
TABLEGROUP tpch_50x_group
OPTIONS (UPDATETYPE='realtime')
COMMENT ''


CREATE TABLE ads_dla_test.finished_orders (
  o_orderkey int COMMENT '',
  o_totalprice double COMMENT '',
  PRIMARY KEY (O_ORDERKEY)
)
PARTITION BY HASH KEY (O_ORDERKEY) PARTITION NUM 32
TABLEGROUP tpch_50x_group
OPTIONS (UPDATETYPE='realtime')
COMMENT ''

CREATE TABLE ads_dla_test.high_value_finished_orders (
  o_orderkey int COMMENT '',
  o_totalprice double COMMENT '',
  PRIMARY KEY (O_ORDERKEY)
)
PARTITION BY HASH KEY (O_ORDERKEY) PARTITION NUM 32
TABLEGROUP tpch_50x_group
OPTIONS (UPDATETYPE='realtime')
COMMENT ''

任务调度其中一个重要的功能是任务之间的依赖,为了演示这个功能,咱们这里会在DataWorks里面建立两个AnalyticDB任务, 咱们的表、任务之间的关系以下图:
测试

  • 任务一: 咱们从orders表清洗出已经完成的订单: o_orderstatus = 'F' , 并写入 finished_orders 表。
  • 任务二: 再从 finished_orders 表里面找出总价大于10000的订单: o_totalprice > 10000, 并写入 high_value_finished_orders 表。

在 DataWorks 上建立AnalyticDB任务

在开通了 DataWorks + AnalyticDB 的功能后,咱们能够在DataWorks的数据开发IDE里面建立AnalyticDB的任务了,以下图:


咱们把第一个任务命名为: finished_orders , 点击肯定会进入一个SQL编辑的页面,要写AnalyticDB SQL必定要告诉DataWorks咱们写的SQL运行在哪一个服务上,这个在DataWorks里面被包装成了"数据源"的概念。

刚进来的时候没有数据源,点击新建数据源
大数据

填写必要的信息点击肯定完成。

DataWorks为了安全的考虑,对能够链接的服务进行了安全控制,所以咱们须要把咱们要连的AnalyticDB数据库的地址+端口加到白名单里面去,这个配置是在DataWorks工做空间的配置里面:

具体配置以下(须要换成你实际的域名+端口):

作了这么多以后,咱们终于能够在编辑页面看到AnalyticDB的数据源了,下面咱们在 finished_orders的任务里面填入以下SQL, 并点击执行:阿里云

use dataworks_demo;
insert into finished_orders
select O_ORDERKEY, O_TOTALPRICE
from orders 
where O_ORDERSTATUS = 'F';

以下图:

重复上述步骤,咱们建立第二个任务: high_value_finished_ordersspa

use dataworks_demo;
insert into high_value_finished_orders
select * from finished_orders
where O_TOTALPRICE > 10000;

配置任务依赖3d

单个任务单次运行没什么太大意思,任务调度的核心在于多个任务按照指定的依赖关系在指定的时间进行运行,下面咱们让: task_finished_orders 在天天半夜2点开始运行:

high_value_finished_orders 在 finished_orders 成功运行以后再运行:code

任务发布

任务配置好以后,就能够进行任务的发布、运维了。任务要发布首先必须提交:

提交以后,咱们在待发布列表能够看到全部待发布的任务

选择咱们刚刚提交的两个任务,咱们就能够发布了。在发布列表页面能够查看咱们刚刚的发布是否成功:

发布成功以后,咱们就能够进入任务运维页面查看咱们的任务,进行各类运维操做了。

总结

在这篇文章里面,我带你们一块儿体验了一下如何用DataWorks来开发、调度AnalyticDB的任务,有了这个能力以后你们能够更方便地进行天天任务的开发、运维了。


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

相关文章
相关标签/搜索