文档

数据开发概述

更新时间:

DataWorks数据开发(DataStudio)模块用于定义周期调度任务的开发及调度属性,与运维中心配合使用,面向各引擎(MaxCompute、Hologres、EMR等)提供可视化开发主界面,支持智能代码开发、多引擎混编工作流、规范化任务发布等能力,帮助您轻松构建离线数仓、实时数仓与即席分析系统,保证数据生产的高效稳定。

进入数据开发

登录DataWorks控制台,单击左侧导航栏的数据建模与开发 > 数据开发,在下拉框中选择对应工作空间后单击进入数据开发

数据开发主要功能

数据开发(DataStudio)的主要功能介绍如下。您可参考数据开发相关概念辅助理解。数据开发功能

类型

描述

对象组织及管理

DataWorks数据开发提供的对象组织与管理机制如下:

  • 对象组织:提供解决方案 > 业务流程两级管理模式。DataWorks基于业务流程提供目录树与可视化面板两种对象组织方式。您可通过目录树创建所需对象,或使用业务流程可视化面板拖拽组件,快速构建数据加工流,并支持通过解决方案对业务流程进行进一步的管理。

  • 对象管理:支持使用可视化方式创建及管理节点、表、资源及函数。

更多详情请参见创建业务流程任务组织与管理方式

任务开发

  • 能力更丰富

    • 提供丰富的引擎节点,对引擎能力进行全面封装。

    • 提供通用类节点,可结合引擎节点进行复杂逻辑处理。例如,外部系统触发调度,文件对象检查、条件分支、循环执行代码、输出结果传递等复杂流程控制。

  • 操作更简单

    • 提供业务流程可视化开发机制,可通过拖拽组件方式快速实现多引擎任务的混合编排。

    • 提供智能化的SQL编辑器。使用SQL编辑器时,提供智能提示、SQL算子结构可视化展示、权限校验等功能。

DataWorks支持的节点类型,详情请参见DataWorks节点合集

任务调度

  • 触发方式:支持外部系统触发、事件触发、以及通过内部血缘解析上游触发任务调度运行。

  • 依赖类型:支持设置同周期与跨周期依赖,以及多种调度周期、不同类型任务的相互依赖。

  • 执行控制:支持设置任务是否重跑;支持通过上游任务控制下游整体调度时间;支持设置调度任务的生效日期;支持定义任务的调度类型。例如,空跑(即不执行且不阻塞下游任务调度);冻结(不执行并阻塞下游任务调度)。

  • 幂等保障:提供任务重跑机制,支持自定义重跑条件与重跑次数。

更多调度相关说明,详情请参见时间属性配置说明调度依赖配置指引

任务调试

提供单任务调试机制与基于业务流程的工作流调试机制。详情请参见任务调试流程

流程管控

提供规范化任务发布机制,及多种方式的流程管控机制。包括但不限于以下场景:

  • 提供任务发布前人工评审代码(代码评审),与冒烟测试,并支持阻塞发布存在问题的生产调度流程。

  • 支持结合数据治理的治理项检查、扩展程序自定义校验逻辑等方式,对任务提交及发布生产调度的操作进行自定义且自动化的流程管控。

其他

  • 开放能力:结合开放平台提供丰富的OpenAPI,并内置大量扩展点,可通过DataWorks开放平台实现DataWorks数据开发相关事件消息的订阅。

  • 权限控制:支持界面功能权限及数据访问权限控制。详情请参见空间级模块权限管控

  • 查看操作记录:DataWorks集成阿里云操作审计(ActionTrail)产品,您可在ActionTrail中查看及检索阿里云账号最近在DataWorks上的操作行为事件日志。详情请参见查看数据开发操作记录

数据开发界面认识

您可通过数据开发功能索引了解数据开发操作界面,以及各模块功能如何使用。

任务开发流程

DataWorks数据开发支持创建多种类型引擎的实时同步任务、离线调度任务(包括离线同步任务、离线加工任务)、手动触发任务。其中,数据同步相关能力您可前往数据集成模块了解;实际开发调度任务时,不同引擎任务的配置要求存在差异,您需先了解不同引擎基于DataWorks开发的注意事项及相关说明,再根据待开发的任务类型开始数据开发工作。

  • 各引擎开发说明:DataWorks支持绑定各种引擎并进行引擎开发任务,不同引擎任务所需的配置存在差异,其中主要引擎任务的开发说明请参见:

  • 通用开发流程:DataWorks的工作空间分为标准模式和简单模式,不同模式工作空间下调度任务的开发流程存在一定差异,具体如下。

    标准模式工作空间开发流程标准模式工作空间开发流程

    简单模式工作空间开发流程简单模式工作空间开发流程

    • 基本流程:以标准模式为例,调度任务的开发流程包括开发、调试、调度配置、提交、发布、运维等阶段。其中,任务开发的通用开发流程,请参见通用开发流程

    • 流程管控:任务在开发过程可结合数据开发(DataStudio)自带的代码评审冒烟测试等功能,以及数据治理中心预设的检查项、开放平台基于扩展程序实现自定义逻辑校验等功能,保障开发任务符合规范。

      说明

      不同工作空间模式涉及的流程管控操作存在差异,具体请以实际管控功能为准。

任务组织与管理方式

DataWorks数据开发的业务流程是具体代码开发、资源组织的单位,是业务的抽象实体,帮助您使用业务视角来组织数据代码开发。工作空间之间的业务流程、任务节点为独立开发,互不影响。更多关于业务流程的使用,详情请参见创建业务流程

业务流程的呈现包括目录树及操作面板两种方式,帮助您基于业务视角组织代码,使得资源类别更明确,业务逻辑更清晰。

  • 目录树结构:提供基于任务类型的代码组织方式。

  • 业务流程面板:提供流程化的业务逻辑展现方式。

开发组织结构

附录:数据开发支持的节点合集

DataWorks的数据开发(DataStudio)模块提供了多种类型节点,同时,多种类型节点支持周期性任务调度,您可基于业务需要选择合适的节点进行相关开发操作。DataWorks支持的节点合集,详情请参见DataWorks节点合集

附录:数据开发相关概念

  • 任务开发相关

    概念

    描述

    解决方案

    业务流程的集合。您可将一类业务流程划分为一个解决方案进行统筹管理。一个业务流程可被多个解决方案复用。进行数据开发时,其他用户可在其它解决方案中,直接编辑您解决方案中引用的业务流程,进行协同开发。

    业务流程

    面向某一特定业务需求的任务、表、资源、函数的集合,业务的抽象实体。该类业务流程中的任务可按计划定时触发运行。

    手动业务流程

    面向某一特定业务需求的任务、表、资源、函数的集合。

    手动业务流程与业务流程的区别为:手动业务流程中的任务需手动触发运行,而业务流程中的任务是按计划来定时触发运行。

    DAG

    英文Directed Acyclic Graph的缩写,即有向无环图。用于展示节点及其依赖关系。在数据开发(DataStudio)中,业务流程下的所有任务会展示在同一个DAG中,方便您进行任务开发及依赖关系配置。

    任务

    任务是DataWorks的基本执行单元。DataWorks根据任务间的依赖关系依次执行各个任务。

    节点

    节点用于指代DAG中的一个任务。DataWorks根据节点间的依赖关系依次运行各个节点。

  • 任务调度相关

    概念

    描述

    依赖关系

    任务间通过依赖关系定义任务的运行顺序。如果节点A运行后,节点B才能运行,我们称A是B的上游依赖,或者B依赖A。在DAG中,依赖关系用节点间的箭头表示。

    输出名

    用于区分本节点与其他节点的标识符。输出名全局唯一,一个节点可包含多个输出名。DataWorks通过输出名设置节点调度依赖关系。

    调度资源组

    部署了DataWorks调度程序的一组ECS实例,分为公共调度资源组独享调度资源组

    • 公共调度资源组:所有DataWorks租户共享,高峰期可能出现任务排队情况。适用于任务量少、时效性要求不高的场景。

    • 独享调度资源组:租户独享,用于任务量大、时效性要求高的场景。Shell等类型的任务必须使用独享调度资源组。

    调度参数

    调度参数是代码中用于调度运行时动态取值的变量。代码在重复运行时若希望获取到运行环境的一些信息,例如日期、时间等,可根据DataWorks调度系统的调度参数定义,动态为代码中的变量赋值。

    业务日期

    指昨天,在离线计算场景下,交易日期为业务发生的日期。DataWorks默认取调度时间内,任务预期调度运行时间的前一天(即昨天)的日期为业务日期,精确到天。例如,今天统计前一天的营业额,此处的前一天,指交易发生的日期,也就是业务日期。

    定时时间

    指今天,即某业务数据加工任务的预期执行时间。DataWorks默认取调度时间内,任务预期调度运行的时间点(即今天)为定时时间,精确到秒。任务预期执行时间,与实际开始执行时间并非完全一致。任务实际开始执行时间受多方因素影响。

  • 本页导读 (1)
文档反馈