dataworks 简介

本文将为您介绍什么是DataWorks,以及DataWorks的功能、约束与限制。

DataWorks(数据工场,原大数据开发套件)是阿里云数加重要的PaaS平台产品,提供数据集成、数据开发、数据管理、数据治理、数据分享等全方位的产品服务,一站式开发管理的界面,帮助企业专注于数据价值的挖掘和探索。

DataWorks基于MaxCompute作为核心的计算、存储引擎,提供了海量数据的离线加工分析、数据挖掘的能力,详情请参见MaxCompute简介。

通过DataWorks,可对数据进行传输、转换、集成的操作,从不同的数据存储引入数据,对数据进行转化和开发,最后将数据输送到其他数据系统。

目录列表

我这里主要介绍一下业务流程的目录列表以及其作用
dataworks 2.0 开发整理

这里面主要关注数据集成、数据开发、表、资源、函数,至于算法和控制,目前我这块还没去研究。

  • 数据集成

    数据集成主要是用来做数据同步的,支持多种数据源,如 redis ,mysql,hbase 等。

  • 数据开发

    这里面主要进行一些脚本的开发,一般常用的是 ODPS SQL,与Hive SQL语法基本一致,适用于海量数据(TB级别),实时性要求不高的场合,它的每个作业的准备,提交等阶段要花费较长时间, 因此要求每秒处理几千至数万笔事务的业务是不能用ODPS SQL完成的;ODPS SQL采用的是类似于SQL的语法,可以看作是标准SQL的子集,但不能因此简单的把ODPS SQL等价成一个数据库,它在很多方面并不具备数据库的特征。

  • 这里面一般会创建流程中产出的表

  • 资源

    这里基本存放一些不同语言开发的包,像我们 java 开发人员一般主要使用 udf,udtf以及udaf.

  • 函数

一般这个地方与资源配合使用,用于声明用户自定义的函数。

如何开发一个工作流

我想大家最看重的就是这一块,如何开发一个工作流,我们假设一个场景(用于讲解,尽可能的简单):
需要统计某个页面的 pv,uv 情况,假定表字段如下:

  • user_id
  • page_id
  • create_time

若是有人说这么简单,为啥用 dataworks 呢?一般来说,一个发展比较好的企业埋点数据非常大,普通的数据库基本无法进行处理运算,只能借助大数据的处理方案,对于一个创业期的,发展还不错的公司,若自己搭建一套大数据体系无疑是性价比极低的,所幸阿里云平台的数加有很多的解决方案。

闲话不多说,对于这样的一个场景,我们该如何去处理?下面的流程图是我给出的一个方案:
dataworks 2.0 开发整理

表创建

选择表> 新建表,选择 DDL 模式


CREATE TABLE IF NOT EXISTS data_collection(
    user_id BIGINT COMMENT '用户 ID',
    page_id BIGINT COMMENT ' 页面 ID',
    create_time DATETIME COMMENT '创建时间'
)COMMENT '埋点记录表' PARTITIONED  BY(pt STRING);

自动解析如下图所示
dataworks 2.0 开发整理

中间表如是,脚本如下:


CREATE TABLE IF NOT EXISTS day_pv_uv(
    page_id BIGINT COMMENT ' 页面 ID',
    pv BIGINT COMMENT 'pv',
    uv BIGINT COMMENT 'uv'
)COMMENT '每日 pv uv' PARTITIONED  BY(pt STRING);

同步数据到数加

选择数据集成>新建数据集成节点>数据同步

dataworks 2.0 开发整理

数据源那边选择自己的数据源和埋点表

统计 pv uv 并写入中间表

选择数据开发>新建数据开发节点>ODPS SQL,这边直接写 hsql 将处理好的数据放入中间表


INSERT OVERWRITE TABLE day_pv_uv
select page_id,count(user_id) as pv,count(DISTINCT user_id) as uv from data_collection 
where pt='${pt}' and create_time>'${pt} 00:00:00';

同步数据到业务库

选择数据集成>新建数据集成节点>数据同步

dataworks 2.0 开发整理

任务调度

这边任务调度不做详细解释,具体请点击前往

dataworks 2.0 开发整理

UDF,UDTF,UDAF

– 后期补

运维中心一些操作

– 后期补

需要云服务器的不要错过优惠

阿里云低价购买云服务,值得一看

相关文章: