Data Studio概述

Data Studio是阿里巴巴基于15年大数据经验打造的智能湖仓一体数据开发平台,兼容阿里云多项计算服务,提供智能化ETL、数据目录管理及跨引擎工作流编排的产品能力。通过个人开发环境实例支持Python开发、Notebook分析与Git集成,Data Studio还支持丰富多样的插件生态,实现了实时离线一体化、湖仓一体化、大数据AI一体化,助力“Data+AI”全生命周期的数据管理。

Data Studio介绍

Data Studio是智能湖仓一体数据开发平台,内置阿里巴巴15年大数据建设方法论,深度适配阿里云MaxCompute、E-MapReduce、Hologres、Flink、PAI等数十种大数据和AI计算服务,为数据仓库、数据湖、OpenLake湖仓一体数据架构提供智能化ETL开发服务,它支持:

  • 数据目录:具备湖仓一体元数据管理能力的数据目录。

  • Workflow:能够编排数十种引擎类型的实时及离线数据开发节点及AI节点的工作流研发模式。

  • 个人开发环境实例:能够运行Python节点开发及调试,支持Notebook交互式分析,以及集成Git代码管理与NAS存储。

  • Notebook:智能化交互式数据开发和分析工具,能够面向多种数据引擎开展SQL或Python分析,即时运行或调试代码,获取可视化数据结果。

Data Studio公测说明

  • 仅支持新创建工作空间时,选择参加数据开发(Data Studio)(新版)公测。具体操作请参见创建工作空间并绑定计算资源

    说明
    • 已存在的工作空间不支持参加新版Data Studio公测。

    • Data Studio与旧版数据开发数据互相独立、不互通,旧版数据开发已有节点迁移至Data Studio功能正在规划中。

  • Data Studio开放公测地域:华东1(杭州)、华东2(上海)、华北2(北京)、华南1(深圳)。

进入Data Studio

进入DataWorks工作空间列表页,在顶部切换至目标地域,找到已创建的工作空间,单击操作列的快速进入 > 数据开发(新版),进入Data Studio。

说明

该入口仅开通了Data Studio公测的工作空间可见,具体操作请参见创建工作空间并绑定计算资源

Data Stuido主要功能

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

image

类型

描述

流程管理

DataWorks数据开发提供工作流开发模式。工作流是一种全新的研发方式,以业务视角出发的DAG可视化开发界面,轻松管理复杂的任务工程。

说明

在Data Studio及旧版数据开发中,每个工作空间支持创建的工作流及对象数量限制如下:

  • 工作流:最多支持创建10,000个。

  • 对象(节点、文件、表、资源及函数):保有DataWorks企业版的用户,支持创建的对象数量上限为200,000;保有DataWorks专业版、标准版及基础版的用户,支持创建的对象数量上限为100,000

若当前工作空间的工作流及对象数量达到上限,您将无法再执行新建操作。

任务开发

  • 能力更丰富:

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

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

    • 基于实时计算Flink版,支持Flink流计算任务开发,支持Flink与MaxCompute、Hologres等引擎协同开发

  • 操作更简单:

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

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

任务调度

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

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

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

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

质量管控

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

  • 提供任务发布前人工评审代码并支持阻塞发布存在问题的生产调度流程。

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

  • 支持将质量监控与调度节点关联,在任务运行完成后触发质量规则校验,帮助您第一时间感知问题数据。

其他

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

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

任务开发流程

DataWorks数据开发支持创建多种类型引擎的实时同步任务、离线调度任务(包括离线同步任务、离线加工任务)、手动触发任务。其中,数据同步相关能力您可前往数据集成模块了解。

DataWorks的工作空间分为标准模式和简单模式,不同模式的工作空间下,任务开发流程存在一定差异,两种模式的数据开发流程示意如下。

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

image

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

image

  • 基本流程:以标准模式为例,调度任务的开发流程包括开发、调试、调度配置、发布、运维等阶段。

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

数据开发方式

Data Studio支持您自定义开发过程,您可以通过工作流(Workflow)方式快速构建数据处理流程,也可以手动创建各任务节点,然后配置其依赖关系。

Data Studio支持的节点合集

Data Studio支持数十种不同类型的节点,提供数据集成、MaxCompute、Hologres、EMR、Flink、Python、Notebook、ADB等不同类型的节点,同时,多种类型节点支持周期性任务调度,您可基于业务需要选择合适的节点进行相关开发操作。DataWorks支持的节点合集,详情请参见DataWorks节点合集

附录:数据开发相关概念

任务开发相关

概念

描述

工作流(Workflow)

一种全新的研发方式,以业务视角出发的DAG可视化开发界面,轻松管理复杂的任务工程。Workflow支持编排数十种不同类型的节点,提供数据集成、MaxCompute、Hologres、EMR、Flink、Python、Notebook、ADB等不同类型的节点;支持Workflow级的调度配置。

手动工作流

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

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

任务节点

任务节点是DataWorks的基本执行单元。Data Studio提供多种类型的节点,包括用于数据同步的数据集成节点,用于数据清洗的引擎计算节点(例如,ODPS SQL、Hologres SQL、EMR Hive),以及可对引擎计算节点进行复杂逻辑处理的通用节点(例如,可统筹管理多个节点的虚拟节点、可循环执行代码的do-while节点),多种节点配合使用,满足您不同的数据处理需求。

任务调度相关

概念

描述

依赖关系

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

输出名

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

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

输出表名

输出表名建议配置为当前任务的产出表,正确填写输出表名可以方便下游设置依赖时确认数据是否来自期望的上游表。自动解析生成输出表名时不建议手动修改,输出表名仅作为标识,修改输出表名不会影响SQL脚本实际产出的表名,实际产出表名以SQL逻辑为准。

说明

节点的输出名需要全局唯一,而输出表名无此限制。

调度资源组

指用于任务调度的资源组。资源组介绍详情请参见DataWorks资源组概述

调度参数

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

业务日期

通常指的是与业务活动直接相关的日期,这个日期反映了业务数据的实际发生时间。这个概念在离线计算场景中尤为重要,例如在零售业务中,您需要统计20241010日的营业额,往往会在20241011日凌晨再开始计算,这时所计算出来的数据实际是20241010日的营业额,这个20241010,就是业务日期。

定时时间

用户为周期任务设置预期执行的时间点,可精确到分钟级别。

重要

影响任务运行的因素较多,并不意味着定时时间到了,任务就会立即执行。在任务执行前,DataWorks会检测上游任务是否运行成功、定时时间是否已达到、调度资源是否充足,当上述条件均已满足后,才开始正式触发任务的运行。