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

本文涉及的产品
大数据开发治理平台DataWorks,Serverless资源组抵扣包300CU*H
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 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 昨天产出的。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
一站式大数据开发治理平台DataWorks初级课程
DataWorks 从 2009 年开始,十ー年里一直支持阿里巴巴集团内部数据中台的建设,2019 年双 11 稳定支撑每日千万级的任务调度。每天阿里巴巴内部有数万名数据和算法工程师正在使用DataWorks,承了阿里巴巴 99%的据业务构建。本课程主要介绍了阿里巴巴大数据技术发展历程与 DataWorks 几大模块的基本能力。 课程目标  通过讲师的详细讲解与实际演示,学员可以一边学习一边进行实际操作,可以深入了解DataWorks各大模块的使用方式和具体功能,让学员对DataWorks数据集成、开发、分析、运维、安全、治理等方面有深刻的了解,加深对阿里云大数据产品体系的理解与认识。 适合人群  企业数据仓库开发人员  大数据平台开发人员  数据分析师  大数据运维人员  对于大数据平台、数据中台产品感兴趣的开发者
目录
相关文章
|
3月前
|
DataWorks Kubernetes 大数据
飞天大数据平台产品问题之DataWorks提供的商业化服务如何解决
飞天大数据平台产品问题之DataWorks提供的商业化服务如何解决
|
1天前
|
SQL DataWorks 关系型数据库
阿里云 DataWorks 正式支持 SelectDB & Apache Doris 数据源,实现 MySQL 整库实时同步
阿里云数据库 SelectDB 版是阿里云与飞轮科技联合基于 Apache Doris 内核打造的现代化数据仓库,支持大规模实时数据上的极速查询分析。通过实时、统一、弹性、开放的核心能力,能够为企业提供高性价比、简单易用、安全稳定、低成本的实时大数据分析支持。SelectDB 具备世界领先的实时分析能力,能够实现秒级的数据实时导入与同步,在宽表、复杂多表关联、高并发点查等不同场景下,提供超越一众国际知名的同类产品的优秀性能,多次登顶 ClickBench 全球数据库分析性能排行榜。
|
29天前
|
人工智能 分布式计算 大数据
大数据&AI产品月刊【2024年9月】
大数据& AI 产品技术月刊【2024年9月】,涵盖本月技术速递、2024云栖大会实录、产品和功能发布、市场和客户应用实践等内容,帮助您快速了解阿里云大数据& AI 方面最新动态。
|
12天前
|
Oracle 大数据 数据挖掘
企业内训|大数据产品运营实战培训-某电信运营商大数据产品研发中心
本课程是TsingtaoAI专为某电信运营商的大数据产品研发中心的产品支撑组设计,旨在深入探讨大数据在电信运营商领域的应用与运营策略。通过密集的培训,从数据的本质与价值出发,系统解析大数据工具和技术的最新进展,深入剖析行业内外的实践案例。课程涵盖如何理解和评估数据、如何有效运用大数据技术、以及如何在不同业务场景中实现数据的价值转化。
25 0
|
2月前
|
存储 分布式计算 DataWorks
关于阿里云DataWorks的6个问题记录
该文章记录了关于阿里云DataWorks使用的六个常见问题及解答,帮助用户更好地理解和操作DataWorks平台。
153 0
关于阿里云DataWorks的6个问题记录
|
24天前
|
SQL 运维 大数据
大数据实时计算产品的对比测评
在使用多种Flink实时计算产品后,我发现Flink凭借其流批一体的优势,在实时数据处理领域表现出色。它不仅支持复杂的窗口机制与事件时间处理,还具备高效的数据吞吐能力和精准的状态管理,确保数据处理既快又准。此外,Flink提供了多样化的编程接口和运维工具,简化了开发流程,但在界面友好度上还有提升空间。针对企业级应用,Flink展现了高可用性和安全性,不过价格因素可能影响小型企业的采纳决策。未来可进一步优化文档和自动化调优工具,以提升用户体验。
100 0
|
25天前
|
SQL 存储 监控
大数据-161 Apache Kylin 构建Cube 按照日期、区域、产品、渠道 与 Cube 优化
大数据-161 Apache Kylin 构建Cube 按照日期、区域、产品、渠道 与 Cube 优化
34 0
|
2月前
|
人工智能 分布式计算 DataWorks
大数据&AI产品月刊【2024年8月】
大数据& AI 产品技术月刊【2024年8月】,涵盖本月技术速递、产品和功能发布、市场和客户应用实践等内容,帮助您快速了解阿里云大数据& AI 方面最新动态。
|
2月前
|
机器学习/深度学习 DataWorks 数据挖掘
基于阿里云Hologres和DataWorks数据集成的方案
基于阿里云Hologres和DataWorks数据集成的方案
62 7
|
3月前
|
机器学习/深度学习 搜索推荐 算法
飞天大数据平台产品问题之AIRec在阿里巴巴飞天大数据平台中的功能如何解决
飞天大数据平台产品问题之AIRec在阿里巴巴飞天大数据平台中的功能如何解决