本文将为您介绍DataWorks中,业务流程、解决方案、组件、任务、实例、提交、脚本开发、资源、函数和输出名称等基本概念。

业务流程

针对业务实体,抽象出业务流程的概念,帮助您从业务视角组织代码的开发,提高任务管理效率。

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

业务流程的优势:

  • 帮助您从业务视角组织代码。
  • 支持基于任务类型的代码组织方式。
  • 支持多级子目录(建议不超过四级)。
  • 支持从业务视角查看整体的工作流,并进行优化。
  • 提供业务流程看板,帮助您更高效地进行开发。
  • 支持根据业务流程组织发布和运维。

解决方案

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

解决方案的优势:

  • 一个解决方案包括多个业务流程。
  • 解决方案之间可以复用相同的业务流程。
  • 组织完成的解决方案,可以进行沉浸式开发。

组件

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

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

任务(Task)

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

  • 通过数据同步节点任务,将数据从RDS同步至MaxCompute。
  • 通过MaxCompute SQL节点任务,运行MaxCompute SQL来进行数据的转换。
  • 通过工作流任务中不同的SQL内部节点,完成一系列的数据转换。

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

任务主要分为节点任务(node task)、工作流任务(flow task)和内部节点(inner node)。
任务
任务类型 说明
节点任务(node task) 一个数据执行的操作。可以与其他节点任务、工作流任务配置依赖关系,组成DAG图。
工作流任务(flow task) 满足一个业务场景需求的一组内部节点,组成一个工作流任务,建议工作流任务小于10个。

工作流任务内部节点,无法被其他工作流任务、节点任务依赖。工作流任务可以与其他工作流任务、节点任务配置依赖关系,组成DAG图。

说明 从DataWorks V1.0升级的任务,仍保留工作流的概念。DataWorks V2.0已无法创建工作流任务,您可以选择创建业务流程进行后续操作。
内部节点(inner node) 工作流任务内部的节点,与节点任务的功能基本一致。其调度周期会继承工作流任务的调度周期,无法进行单独配置,通过拖拽形成依赖关系。

数据执行时可以选择的操作类型,请参见节点类型

任务的调度参数配置,请参见调度配置

实例(Instance)

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

例如设置每天2:00运行task1任务,调度系统会在每天23:30根据周期节点定义好的时间,自动生成一个快照,即task1第二天2:00运行的实例。到第二天2:00时,如果判断上游任务已经完成,task1实例便会如期启动运行。

说明 您可以进入运维中心 > 任务运维页面,查询实例的相关信息。

提交(Submit)

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

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

脚本开发(Script)

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

资源、函数

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

您可以在DataWorks中,通过界面管理资源和函数。如果通过MaxCompute的其他方式进行资源、函数管理,则无法在DataWorks中进行相关的查询。

输出名称

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

当您在设置某任务与其他任务形成上下游依赖关系时,必须根据输出名称(而不是节点名称或节点ID)来完成设置,设置完成后该任务的输出名也同时作为其下游节点的输入名称。
输出名称
说明 输出名称可以作为某个Task在同租户内,区别于其他Task的唯一概念对象,每个节点的输出名称默认为项目名称.系统生成9位数字_out。您可以对Task增加自定义输出名,但需注意输出节点名称在租户内不允许重复。