阿里云大数据ACP认证知识点梳理9——产品特点(DATA WORKS)

本文涉及的产品
大数据开发治理平台 DataWorks,不限时长
简介: DATA WORKS(原DATA IDE) 产品特点及重点注意事项

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

DataWorks(数据工场)基于MaxCompute作为核心的计算、存储引擎,提供了海量数据的离线加工分析、数据挖掘的能力.

使用DataWorks(数据工场),可对数据进行数据传输、数据转换等相关操作,从不同的数据存储引入数据,对数据进行转化处理,最后将数据提取到其他数据系统。

提供强大的调度能力,支持按照时间、依赖关系的任务触发机制,支持每日千万级别的任务按照DAG关系准确、准时运行。支持分钟、小时、天、周和月多种调度周期配置。(分钟的最小单位是5分钟)

完全托管的服务,无需关心调度服务器资源问题。租户之间提供隔离,保证不同租户之间的任务不会相互影响。

支持数据同步、SHELL、MaxCompute SQL、MaxCompute MR等多种任务类型,通过任务之间的相互依赖完成复杂的数据分析处理。

目前无法支持SQL运行在阿里云云数据库、阿里云分析型数据库等产品,仅支持MaxCompute。

任务(Task)

任务是指定义对数据执行的操作。使用数据同步节点任务将数据从RDS复制到MaxCompute。使用MaxCompute SQL节点任务运行MaxCompute SQL来进行数据的转换。使用工作流任务,通过内部几个不同的SQL内部节点完成一系列的数据转换。每个任务使用0或0个以上的数据表(数据集)作为输入,生成一个或多个数据表(数据集)作为输出。

任务主要分为三种:节点任务(node task),工作流任务(flow task)和内部节点(inner node)。

节点任务(node task):一个数据执行的操作。可以与其他节点任务、工作流任务配置依赖关系,组成DAG图。

工作流任务(flow task):解决一个小业务的一组内部节点组成一个工作流任务。工作流任务数量建议小于10个。工作流任务内部节点,无法被其他工作流任务、节点任务依赖,工作流任务可以与其他工作流任务、节点任务配置依赖关系,组成DAG图。

内部节点(inner node):工作流任务内部的节点,与节点任务能力基本相同。其调度周期会继承工作流任务的调度周期,无法进行单独配置,依赖关系也按照拖拽关系。

实例(Instance)

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

提交(Submit)

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

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

脚本开发(Script)

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

在DataWorks(数据工场,原大数据开发套件)中,可以通过界面管理资源、函数。如果通过MaxCompute的其他方式进行资源、函数管理,则无法在DataWorks中进行相关的查询。

数据开发流程:

数据开发的总体流程包括数据产生、数据收集与存储、数据分析与处理、数据提取和数据展现与分享,如下图所示:
image

数据产生

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

数据收集与存储

若想利用MaxCompute的海量数据存储与处理能力来分析这些已有的数据,首先需要将不同业务系统的数据同步至MaxCompute中。

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

数据分析与处理

随之可对MaxCompute上的数据进行加工(MaxCompute SQL、MaxCompute MR)、分析与挖掘(数据分析、数据挖掘)等处理,从而发现其价值。

数据提取

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

数据展现和分享

最后可通过报表、地理信息系统等多种展现方式来展示与分享大数据分析、处理后的成果。

调度参数:

目前系统参数有两个,这两个系统参数只要代码里用到,不需要做额外的赋值动作,节点自动调度的时候就会自动替换。系统参数分别为:

${bdp.system.bizdate}格式 yyyymmdd,日常调度实例定时时间的前一天(年月日)。节点每天自动调度实例定时时间年月日减 1 天

${bdp.system.cyctime}格式 yyyymmddhh24miss,日常调度实例定时时间(年月日时分秒)。 yyyy 表示 4 位数年份,mm 表示 2 位数月份,dd 表示 2 位数天,hh24 表示 24 小时制的时,mi 表示 2 位数分钟,ss 表示 2 位数秒。

使用方式:节点代码里编辑如 pt=${bdp.system.bizdate},然后节点在调度上运行即可自动替换值。

若节点每天调度时代码里有变量需要赋当天减 2 的日期,即业务日期减 1 天,格式为 yyyymmdd,需要系统参数和 MaxCompute 内建函数一起使用,如下:

节点代码

dt=to_char(dateadd(TO_DATE('${bdp.system.bizdate}', 'yyyymmdd'), -1, 'dd'), 'yyyymmdd')

目前支持.csv/.txt 文件上传,一次性上传文件大小上限为 10M。

一个工作流里没有业务关系的节点可以不用彼此依赖。

工作流节点的依赖:

一个工作流里只能有一个根节点,即没有父节点的节点。

一个工作流里某个节点可以依赖多个节点,也可以被多个节点依赖。

一个工作流里可以有多个节点没有被其他节点依赖。

角色权限的说明:

项目管理员:指项目空间的管理者,可对该项目空间的基本属性、数据源、当前项目空间计算引擎配置和项目成员等进行管理,并为项目成员赋予项目管理员、开发、运维、部署、访客角色。

开发:开发角色的用户能够创建工作流、脚本文件、资源和 UDF,新建/删除表,同时可以创建发布包,但不能执行发布操作

运维:运维角色的用户由项目管理员分配运维权限;拥有发布及线上运维的操作权限,没有数据开发的操作权限

部署:部署角色与运维角色相似,但是它没有线上运维的操作权限

访客:访客角色的用户只具备查看权限,没有权限进行编辑工作流和代码等操作。

安全管理员:安全管理员仅在数据保护伞中用到,用于敏感规则配置,数据风险审计等。

周期配置

一个周期运行的任务,它的依赖关系的优先级大于时间属性。在时间属性决定的某个时间点到达时,任务实例不会马上运行,而是先检查上游是否全部运行成功

上游依赖的实例没有全部运行成功并且定时运行时间已到,则实例仍为 未运行状态。

**上游依赖的实例全部运行成功并且定时运行时间还未到,则实例进入 等待时间 状态。
**
上游依赖的实例全部运行成功并且定时运行时间已到,则实例进入等待资源状态准备运行。

当一个任务被成功提交后,底层的调度系统从第二天开始,将会每天按照该任务的时间属性生成实例,并根据上游依赖的实例运行结果和时间点运行。23:30 之后提交成功的任务从第三天开始才会生成实例。

若有一个任务需要每周一执行一次,那么只有运行时间是周一的情况下,该任务才会真正执行,运行时间非周一的情况下,该任务会空跑(直接将任务置为成功),不会实际运行。所以周调度任务,在测试/补数据的时候,需要选择业务日期=运行时间-1。

天调度任务,即每天自动运行一次。新建周期任务时,默认的时间周期为 每天 0 点 运行一次,可根据需要自行指定运行时间点,例如指定每天 13 点运行一次。

周调度任务,即每周的特定几天里每天在特定时间点自动运行一次。当到了没有被指定的日期时,为保证下游实例正常运行,系统也会生成实例但直接设置为运行成功,而不会真正执行任何逻辑,也不会占用资源。

月调度任务,即每月指定的特定几天里每天在特定时间点自动运行一次。当到了没有被指定的日期时,为保证下游实例正常运行,系统也会每天生成实例但直接设置为运行成功,而不会真正执行任何逻辑,也不会占用资源。

小时调度任务,即每天指定的时间段内按 N*1 小时的时间间隔运行一次,比如每天 1 点到 4 点的时间段内,每 1 小时运行一次。

分钟调度任务,即每天指定的时间段内按 N* 指定分钟的时间间隔运行一次,目前能支持的最短时间间隔为每 5 分钟运行一次。

当一个任务被配置为暂停时,调度系统仍会每天按时间属性为该任务生成对应的一个或多个实例,但这些实例在定时时间到达时不会真正运行其中的代码,而是直接被设置为运行失败,以保证下游实例不会被触发运行。被直接设置为运行失败的实例,实际并没有执行其中的代码,因此没有日志信息产生。

依赖关系

在调度配置中,会需要配置两个任务级别的依赖:依赖属性和跨周期依赖

自动推荐:系统自动扫描节点代码解析出来源表和目标表,从而推荐来源表是从哪个任务产出,只有 SQL 类型节点任务和工作流任务有这个功能,同时也只能解析到 SQL 任务产出的表 。

所属项目:当前组织内所有项目空间,可在下拉列表中进行选择。

上游任务:对应所属项目空间中的任务,用来设置当前任务的上游任务,非必填项。支持工作流名称模糊匹配查询 。

一个工作流可以依赖多个上游工作流,同样,一个工作流可被多个工作流依赖。依赖属性为非必填项,当下游工作流需依赖上游工作流产出数据,则可配置依赖关系。

配置节点/工作流任务的跨周期依赖,如:天调度任务中,今天需要执行的数据依赖本任务昨天执行的数据,那么可以配置依赖昨天任务的周期,这样一来,昨天的实例必须先执行成功,今天的实例才可以调度起来,这种依赖主要是体现在任务调度实例的依赖 。

跨周期依赖说明:

不依赖上一调度周期:所有任务默认选择该选项,即不依赖任何任务的上周期实例。

自依赖:等待本任务上一调度周期结束,才能继续运行:应用场景:任务 A 当前周期数据来源依赖于任务 A 上周期执行的结果;或者小时/分钟调度任务 A 不允许实例并行。

等待下游任务的上一周期结束,才能继续运行:依赖第一层子任务的上周期。这种应用场景不多,选择此项,后续该任务一旦被其他任务直接依赖则实例都依赖所有第一层子任务的上周期实例。

等待自定义任务的上一周期结束,才能继续运行:应用场景:天任务 A 依赖一个数据是天任务 B 昨天产出的。

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
一站式大数据开发治理平台DataWorks初级课程
DataWorks 从 2009 年开始,十ー年里一直支持阿里巴巴集团内部数据中台的建设,2019 年双 11 稳定支撑每日千万级的任务调度。每天阿里巴巴内部有数万名数据和算法工程师正在使用DataWorks,承了阿里巴巴 99%的据业务构建。本课程主要介绍了阿里巴巴大数据技术发展历程与 DataWorks 几大模块的基本能力。 课程目标  通过讲师的详细讲解与实际演示,学员可以一边学习一边进行实际操作,可以深入了解DataWorks各大模块的使用方式和具体功能,让学员对DataWorks数据集成、开发、分析、运维、安全、治理等方面有深刻的了解,加深对阿里云大数据产品体系的理解与认识。 适合人群  企业数据仓库开发人员  大数据平台开发人员  数据分析师  大数据运维人员  对于大数据平台、数据中台产品感兴趣的开发者
目录
相关文章
|
22天前
|
关系型数据库 分布式数据库 数据库
成都晨云信息技术完成阿里云PolarDB数据库产品生态集成认证
近日,成都晨云信息技术有限责任公司(以下简称晨云信息)与阿里云PolarDB PostgreSQL版数据库产品展开产品集成认证。测试结果表明,晨云信息旗下晨云-站群管理系统(V1.0)与阿里云以下产品:开源云原生数据库PolarDB PostgreSQL版(V11),完全满足产品兼容认证要求,兼容性良好,系统运行稳定。
|
29天前
|
存储 NoSQL 数据库
阿里云数据库Cassandra的产品价格
阿里云数据库Cassandra提供多地域服务,如中国、亚太、欧洲、美洲及中东。计费分为实例主机节点规格费和存储费用,实例价格因节点数和副本数而异,存储费用按挂载云盘计算。生产系统建议配置多节点以确保冗余。公网流量目前免费,具体收费时间未定。详细价格以购买页面为准。
419 3
|
26天前
|
SQL 安全 数据管理
在阿里云数据管理DMS(Data Management Service)中,您可以按照以下步骤来创建和管理数据库
【2月更文挑战第33天】在阿里云数据管理DMS(Data Management Service)中,您可以按照以下步骤来创建和管理数据库
28 7
|
22天前
|
SQL 存储 API
阿里云实时计算Flink的产品化思考与实践【下】
本文整理自阿里云高级产品专家黄鹏程和阿里云技术专家陈婧敏在 FFA 2023 平台建设专场中的分享。
110414 10
阿里云实时计算Flink的产品化思考与实践【下】
|
3天前
|
API
阿里云微服务引擎及 API 网关 2024 年 3 月产品动态
阿里云微服务引擎及 API 网关 2024 年 3 月产品动态。
|
4天前
|
安全 云计算
电子好书发您分享《阿里云产品手册2024版.阿里云产品手册2024版》
**《阿里云产品手册2024版》电子书分享:** 探索阿里云最新技术与服务,涵盖云计算、安全、移动研发等领域,详尽指南助您高效上云。[阅读链接](https://developer.aliyun.com/ebook/8326/116556?spm=a2c6h.26392459.ebook-detail.4.176b272aLerqlg)
12 1
|
8天前
|
云安全 数据采集 安全
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
阿里云提供两种关键安全产品:Web应用防火墙和云防火墙。Web应用防火墙专注网站安全,防护Web攻击、CC攻击和Bot防御,具备流量管理、大数据防御能力和简易部署。云防火墙是SaaS化的网络边界防护,管理南北向和东西向流量,提供访问控制、入侵防御和流量可视化。两者结合可实现全面的网络和应用安全。
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
|
10天前
|
消息中间件 人工智能 监控
|
18天前
|
消息中间件 Cloud Native Serverless
飞天发布时刻丨阿里云 ApsaraMQ 全面升级,携手 Confluent 发布全新产品
阿里云在3月29日的飞天发布时刻宣布ApsaraMQ全面升级,实现全系产品Serverless化,与Confluent合作推出新产品,强化云原生消息队列服务。
|
25天前
|
存储 弹性计算 Serverless
什么是阿里云FPGA云服务器?FPGA云服务器产品优势及应用场景介绍
FPGA云服务器是阿里云提供的实例规格,融合现场可编程门阵列的低延迟硬件加速与弹性资源。FaaS平台简化了FPGA开发,提供统一硬件、开发环境和丰富的IP生态。特性包括硬件虚拟化、联合仿真和动态互联配置。产品计费与ECS一致,支持多种计费模式。优势在于分钟级交付、高性能加速、经济性价比和设计复用。应用广泛,如视频转码、人工智能、基因测序等。FPGA云服务器通过FPGA镜像、OSS服务等工具进行管理。
什么是阿里云FPGA云服务器?FPGA云服务器产品优势及应用场景介绍

热门文章

最新文章