什么是DataWorks

DataWorks是从工作室、车间到工具集都齐备的一站式大数据工场,助力您快速完成数据集成、开发、治理、服务、质量和安全等全套数据研发工作。

本文为您介绍什么是DataWorks,以及DataWorks的功能和使用限制。

DataWorks(数据工场,原大数据开发套件)是阿里云重要的PaaS(Platform-as-a-Service)平台产品,为您提供数据集成数据开发数据地图数据质量数据服务等全方位的产品服务,一站式开发管理的界面,帮助企业专注于数据价值的挖掘和探索。

DataWorks支持多种计算存储引擎服务,包括离线计算MaxCompute开源大数据引擎E-MapReduce、实时计算(基于Flink)、机器学习PAI计算服务Graph Compute和交互式分析服务等,并且支持用户自定义接入计算存储服务。DataWorks为您提供全链路智能大数据及AI开发和治理服务。

您可以使用DataWorks,对数据进行传输、转换和集成等操作,从不同的数据存储引入数据,并进行转化和开发,最后将处理好的数据同步至其它数据系统。

请添加图片描述

基本概念

工作空间

工作空间是DataWorks管理任务、成员,分配角色和权限的基本单元。工作空间管理员可以加入成员至工作空间,并赋予工作空间管理员、开发、运维、部署、安全管理员或访客角色,以实现多角色协同工作。

说明 建议您根据部门或业务板块来划分工作空间。

一个工作空间支持绑定MaxCompute、E-MapReduce和实时计算等多种类型的计算引擎实例。绑定引擎实例后,即可在工作空间开发和调度引擎任务。

说明 业务流程可以被多个解决方案复用。

解决方案

您可以自定义组合部分业务流程为一个解决方案。

组件

您可以将SQL中的通用逻辑抽象为组件,提高代码的复用性。

SQL代码的处理过程通常是引入一到多个源数据表,通过过滤、连接和聚合等操作,加工出新的业务需要的目标表。组件是带有多个输入参数和输出参数的SQL代码过程模板。

任务(Task)

任务是对数据执行的操作的定义,示例如下:

  • 通过数据同步节点任务,将数据从RDS同步至MaxCompute。
  • 通过MaxCompute SQL节点任务,运行MaxCompute SQL来进行数据的转换。

每个任务使用0或0个以上的数据表(数据集)作为输入,生成一个或多个数据表(数据集)作为输出。

任务主要分为节点任务(Node Task)、工作流任务(Flow Task)和内部节点(inner Node)。

请添加图片描述

实例(Instance)

实例是某个任务在某时某刻执行的一个快照。调度系统中的任务,经过调度系统、手动触发运行后,会生成一个实例。实例中会有任务的运行时间、运行状态和运行日志等信息。

提交(Submit)

提交是指开发的节点任务、业务流程,从DataWorks开发环境发布至调度系统的过程。完成提交后,相应的代码、调度配置全部合并至调度系统中,调度系统根据相关配置进行调度操作。

说明 未提交的节点任务、业务流程不会进入调度系统。

脚本开发(Script)

脚本开发是提供给数据分析使用的一个代码存储空间。脚本开发的代码无法发布到调度系统,无法进行调度参数配置,仅可以进行部分数据查询分析的工作。

资源、函数

资源、函数均为MaxCompute的概念,详情请参见资源函数

输出名称

输出名称:每个任务(Task)输出点的名称。它是您在单个租户(阿里云账号)内设置依赖关系时,用于连接上下游两个任务(Task)的虚拟实体。

当您在设置某任务与其它任务形成上下游依赖关系时,必须根据输出名称(而不是节点名称或节点ID)来完成设置。设置完成后该任务的输出名也同时作为其下游节点的输入名称。

请添加图片描述

说明 输出名称可以作为某个Task在同租户内,区别于其它Task的唯一概念对象,每个节点的输出名称默认为工作空间名称.系统生成9位数字.out。您可以对Task增加自定义输出名,但需要注意输出节点名称在租户内不允许重复。

元数据

元数据是数据的描述数据,可以为数据说明其属性(名称、大小、数据类型等),或结构(字段、类型、长度等),或其相关数据(位于何处、拥有者、产出任务、访问权限等)。DataWorks中元数据主要指库、表相关的信息,元数据管理对应的主要应用是数据地图

补数据

完成周期任务的开发,将任务提交发布之后,任务会按照调度配置定时运行。如果您希望对历史时间段内的数据进行计算,您可以使用补数据功能。补数据操作生成的补数据实例将按照指定的业务日期运行。

数据开发流程

通常数据开发的总体流程包括数据产生、数据收集与存储、数据分析与处理、数据提取和数据展现与分享。

请添加图片描述

数据开发的流程如下所示:

1.数据产生:业务系统每天会产生大量结构化的数据,存储在业务系统所对应的数据库中,包括MySQL、Oracle和RDS等类型。

2.数据收集与存储:您需要同步不同业务系统的数据至MaxCompute中,方可通过MaxCompute的海量数据存储与处理能力分析已有的数据。

DataWorks提供数据集成服务,可以支持多种数据源类型,根据预设的调度周期同步业务系统的数据至MaxCompute。

3.数据分析与处理:完成数据的同步后,可以对MaxCompute中的数据进行加工(MaxCompute SQL、MaxCompute MR)、分析与挖掘(数据分析、数据挖掘)等处理,从而发现其价值。

4.数据提取:分析与处理后的结果数据,需要同步导出至业务系统,以供业务人员使用其分析的价值。

5.数据展现与分享:数据提取成功后,可以通过报表、地理信息系统等多种展现方式,展示与分享大数据分析、处理后的成果。

简单模式和标准模式的区别

简单模式的工作空间

简单模式下,一个DataWorks工作空间对应一个计算引擎(项目、实例或数据库),无法设置开发环境和生产环境,只能进行简单的数据开发。简单模式的工作空间无法对数据开发流程和表权限进行强控制。

以MaxCompute为例,简单模式工作空间的流程如下。

请添加图片描述

标准模式的工作空间

标准模式的工作空间下,一个DataWorks工作空间对应两个计算引擎(项目、实例或数据库)。与简单模式的工作空间相比,标准模式的工作空间有如下不同:

  • 所有代码仅支持在开发环境编辑,您无法修改生产环境的代码。
  • 提交任务后,任务会进入开发环境调度系统。但实际不会自动调度,仅作为冒烟测试使用。如果您需要自动调度运行任务,请发布任务至生产环境。发布任务前,需要项目管理员或运维角色的成员审批通过,才能发布成功。

以MaxCompute为例,标准模式工作空间的流程如下。

请添加图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐