2019独角兽企业重金招聘Python工程师标准>>>

DataWorks作为阿里云上广受欢迎的大数据开发调度服务,最近加入了对于Data Lake Analytics的支持,意味着所有Data Lake Analytics的客户可以获得任务开发、任务依赖关系管理、任务调度、任务运维等等全方位强大的能力,今天就给大家介绍一下如何使用DataWorks来调度DLA的脚本任务。

开通DLA

在开始之前我们要有一个 DLA 的账号,目前 DLA 的新用户都有50T的免费流量,可以放心试用。开通DLA成功后,你会获得一个用户名和密码, 然后在控制台登录就可以使用:

或者如果你是极客,更偏爱命令行,你也可以使用普通的 MySQL 客户端就可以连接 DLA 了:

mysql -hservice.cn-region.datalakeanalytics.aliyuncs.com -P10000 -u<your-user-name> -p<your-password>

在这篇文章里面,我会使用 MySQL 命令行给大家演示 DLA 的功能。

申请试用 DataWorks + DLA

开通DLA服务之后,您还需要开通DataWorks的服务,目前DataWorks还在公测阶段,放心使用。

然后您可以在您对应的DLA服务群里面找我们任何一位同学开通一下DLA + DataWorks的试用资格(目前这个功能还处于邀请试用的阶段,没有完全放开)。

如果目前还没有专门DLA服务群的客户,可以通过工单联系我们。

DLA数据、库、表准备

为了演示如何在DataWorks上调度DLA的任务,我们后面会用到一些测试数据,这里我们用著名的TPCH的测试数据集, 数据保存在OSS上面。

通过MySQL命令行我们创建对应的库、表:

CREATE SCHEMA dataworks_demo with DBPROPERTIES(CATALOG = 'oss',LOCATION = 'oss://test-bucket/datasets/'
);use dataworks_demo;
CREATE EXTERNAL TABLE IF NOT EXISTS orders (O_ORDERKEY INT, O_CUSTKEY INT, O_ORDERSTATUS STRING, O_TOTALPRICE DOUBLE, O_ORDERDATE DATE, O_ORDERPRIORITY STRING, O_CLERK STRING, O_SHIPPRIORITY INT, O_COMMENT STRING
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|'
STORED AS TEXTFILE
LOCATION 'oss://test-bucket/datasets/tpch/1x/text_string/orders_text/';-- 结果表 finished_orders
CREATE EXTERNAL TABLE IF NOT EXISTS finished_orders (O_ORDERKEY INT,  O_TOTALPRICE DOUBLE
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|'
STORED AS TEXTFILE
LOCATION 'oss://test-bucket/datasets/dataworks_demo/finished_orders/';-- 结果表 high_value_finished_orders
CREATE EXTERNAL TABLE IF NOT EXISTS high_value_finished_orders (O_ORDERKEY INT, O_TOTALPRICE DOUBLE
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|'
STORED AS TEXTFILE
LOCATION 'oss://test-bucket/datasets/dataworks_demo/high_value_finished_orders/';

任务调度其中一个重要的功能是任务之间的依赖,为了演示这个功能,我们这里会在DataWorks里面创建两个DLA任务, 我们的表、任务之间的关系如下图:

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

关于如何使用DLA分析OSS数据更详细的信息可以参考:

  • Data Lake Analytics + OSS数据文件格式处理大全: https://yq.aliyun.com/articles/623246
  • 使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集: https://yq.aliyun.com/articles/623282

在 DataWorks 上创建 DLA 任务

在开通了 DataWorks + DLA 的功能后,我们可以在DataWorks的数据开发IDE里面创建DLA的任务了,如下图:

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

DataWorks的规范是任务的名称跟任务的输出表的名称保持一致。

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

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

DataWorks为了安全的考虑,对可以连接的服务进行了安全控制,因此我们需要把我们要连的DLA的地址+端口加到白名单里面去,这个配置是在DataWorks工作空间的配置里面:

具体配置如下(需要换成你实际的IP+端口):

这里需要注意一下,工作空间配置只有工作空间管理员才有权限。

做了这么多之后,我们终于可以在编辑页面看到DLA的数据源了,下面我们在 finished_orders 的任务里面填入如下SQL, 并点击执行:

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

如下图:

重复上述步骤,我们创建第二个任务: high_value_finished_orders:

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

配置任务依赖

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

high_value_finished_orders 在 finished_orders 成功运行之后再运行:

任务发布

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

提交之后,我们在待发布列表可以看到所有待发布的任务:

选择我们刚刚提交的两个任务,我们就可以发布了:

在发布列表页面可以查看我们刚刚的发布是否成功:

发布成功之后,我们就可以进入任务运维页面查看我们的任务,进行各种运维操作了。

总结

在这篇文章里面,我带大家一起体验了一下如何用 DataWorks 来开发、调度DLA的任务,有了这个能力之后大家可以更方便地进行每天任务的开发、运维了。

原文链接

转载于:https://my.oschina.net/u/1464083/blog/3020948

Data Lake Analytics: 使用DataWorks来调度DLA任务相关推荐

  1. 如何使用Data Lake Analytics创建分区表

    前言 Data Lake Analytics (后文简称DLA)提供了无服务化的大数据分析服务,帮助用户通过标准的SQL语句直接对存储在OSS.TableStore上的数据进行查询分析. 在关系型数据 ...

  2. 教程:使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

    0. Data Lake Analytics(DLA)简介 关于Data Lake的概念,更多阅读可以参考: https://en.wikipedia.org/wiki/Data_lake 以及AWS ...

  3. Data Lake Analytics + OSS数据文件格式处理大全

    前言 Data Lake Analytics是Serverless化的云上交互式查询分析服务.用户可以使用标准的SQL语句,对存储在OSS.TableStore上的数据无需移动,直接进行查询分析. 目 ...

  4. Data Lake Analytics: 读/写PolarDB的数据

    2019独角兽企业重金招聘Python工程师标准>>> Data Lake Analytics 作为云上数据处理的枢纽,最近加入了对于PolarDB的支持, PolarDB 是阿里云 ...

  5. 如何在阿里云上使用Data Lake Analytics分析Table Store数据

    0. Data Lake Analytics(简称DLA)介绍 数据湖(Data Lake)是时下热门的概念,更多阅读可以参考: https://en.wikipedia.org/wiki/Data_ ...

  6. Data Lake Analytics的Geospatial分析函数

    2019独角兽企业重金招聘Python工程师标准>>> 0. 简介 为满足部分客户在云上做Geometry数据的分析需求,阿里云Data Lake Analytics(以下简称:DL ...

  7. 在Data Lake Analytics中使用视图

    在Data Lake Analytics中使用视图 1. 概述 在Data Lake Analytics(以下简称DLA)中使用视图(VIEW)功能,可以大大简化对于重复SQL,特别是较为复杂的SQL ...

  8. Data Lake Analytics: 以SQL方式查询Redis数据

    Data Lake Analytics 作为云上数据处理的枢纽,最近加入了对于Redis 的支持, 这篇教程带你玩转 DLA 的 Redis 支持. 创建数据库 在 DLA 里面创建一个底层映射到 R ...

  9. 在Data Lake Analytics中使用视图 1

    在Data Lake Analytics中使用视图 1. 概述 在Data Lake Analytics(以下简称DLA)中使用视图(VIEW)功能,可以大大简化对于重复SQL,特别是较为复杂的SQL ...

最新文章

  1. python bound unbound method
  2. ssl以及构建私有CA
  3. 超神线段树 山海经
  4. Annihilate(SA)
  5. KNN算法的简单实现
  6. java transaction cn_GitHub - cnzebra/tcc-transaction: tcc-transaction是TCC型事务java实现
  7. android十进制转十六进制算法,十进制转十六进制 代码
  8. fpga 开源264编码_更好的开源安全性,学习编码,开放式家庭设计等
  9. linux修改文件权限的命令_Linux基础文件权限管理
  10. 从Waymo挖来感知负责人张一萌,以及Pony.ai的又半年
  11. 车牌识别LPR(八)-- 字符识别
  12. kubelet源码分析(四)之 syncLoopIteration
  13. HTML5分级标题,最佳HTML5结构,其中标题/标题是文章标签外
  14. 单模连接器损耗与影响因素
  15. 区块链入门教程(4)--搭建单机四节点FISCO BCOS联盟链
  16. 9.9 买礼物的艰辛 2719
  17. 05.概念数据模型CDM
  18. 音乐对计算机专业的影响,浅析计算机网络技术对音乐发展的影响
  19. firefox linux 中文字体,Ubuntu下的Firefox字体配置方案
  20. 【C#基础教程】第二十章、事件

热门文章

  1. 最没节操的地下匿名社交创始人,可以拯救Google+?
  2. Ubuntu bitnami gitlab 安装
  3. 关于ASP.NET的web.config的小笔记
  4. 深夜,先给自己记录个东西
  5. ecshop2.71 lbi库文件添加流程
  6. 转载: 快速理解Docker - 容器级虚拟化解决方案
  7. concurrent: CyclicBarrier
  8. java如何创建一个两个数的队列_java线程池 如何构建一个线程立即到拉到MAX数量跑业务,线程到MAX了,额外的队列可以存储任务的线程池...
  9. MySQL 高级 - 触发器 - 查看及删除
  10. Nacos源码发送心跳