DataWorks基于云原生大数据计算服务MaxCompute轻松构建离线数仓分析系统。MaxCompute可通过DataWorks提供的可视化方式配置任务工作流、周期性调度执行任务及元数据管理,保障数据生产及管理的高效稳定。本文为您介绍在DataWorks上开发MaxCompute任务的基本流程、费用说明、环境准备、权限控制等内容。
前提条件
已开通DataWorks,详情请参见开通DataWorks服务。
已开通MaxCompute,详情请参见开通MaxCompute服务。
已创建DataWorks工作空间,详情请参见创建工作空间。
使用说明
DataWorks on MaxCompute的相关开发说明如下。
类别 | 说明 |
在DataWorks上进行MaxCompute任务开发,除DataWorks侧产品费用外,还会产出其他产品侧费用。 | |
在DataWorks上进行MaxCompute任务开发前,您需根据业务需求购买相应DataWorks版本及所需资源组,并完成相关MaxCompute数据源的创建及绑定工作。 | |
DataWorks提供DataWorks产品级与模块级权限控制,以及MaxCompute数据源的可视化权限申请与审批能力。 | |
DataWorks数据集成提供MaxCompute数据读取与写入的能力,并提供离线同步、实时同步、全增量同步任务等多种数据同步场景。 | |
DataWorks提供数据建模服务,将无序、杂乱、繁琐、庞大且难以管理的数据,进行结构化有序的管理。还提供数据开发(DataStudio)功能,用于调度任务的开发,并与运维中心配合使用,进行调度任务的监控运维。 | |
DataWorks数据分析提供MaxCompute数据分析与服务共享能力。 | |
DataWorks提供MaxCompute元数据管理与数据治理能力。 | |
DataWorks提供数据服务能力,帮助您统一管理面向内外部的API服务。 | |
DataWorks支持开放能力,帮助您快速实现各类应用系统对接DataWorks,并进行数据流程管控、数据治理和运维,及时响应各应用系统对接DataWorks的业务状态变化。 |
费用说明
DataWorks数据开发与运维中心提供MaxCompute数据同步、数据加工任务的周期调度,不仅包含DataWorks相关费用,同时会产生产品侧其他费用,具体如下。
一、DataWorks相关费用
以下费用会体现在DataWorks产品相关账单中。DataWorks计费详情请参见DataWorks计费项说明。
费用 | 说明 |
DataWorks版本费用 | 进行任务开发前,您需先开通DataWorks。如果开通的是DataWorks标准版、专业版、企业版,则在开通时需支付相应版本的版本费用。 |
任务调度的调度资源费用 | 任务开发完成后,进行任务调度需使用调度资源。您可使用Serverless资源组(推荐)或旧版独享调度资源组,支付相应资源组费用。 说明 购买的Serverless资源组可满足任务调度、数据同步共同使用。 |
数据同步的同步资源费用 | 运行数据同步任务时,除调度资源外,还需使用数据同步资源。您可使用Serverless资源组(推荐)或旧版独享数据集成资源组,支付相应资源组费用。 |
DataStudio界面使用运行、带参运行功能执行的任务,不会收取调度费用。
没有实际执行成功的任务及空跑的任务不收取调度费用。
您可参考DataWorks调度任务下发逻辑,以辅助了解上述计费说明。
二、非DataWorks相关费用
以下费用不会体现在DataWorks产品相关账单中。任务开发运行过程中可能会产生的其他费用如下。
其他产品收费情况由对应产品的计费逻辑决定,您可查看对应产品的计费文档了解详情。以MaxCompute为例,计费详情请参见MaxCompute计费项说明。
费用 | 说明 |
数据库费用 | 数据同步时,读写上下游数据库中的数据,可能会产生数据库费用。 |
计算和存储费用 | 运行计算引擎任务时,可能会产生计算引擎的计算和存储费用。例如,运行一个MaxCompute的SQL任务,新建表并写入表数据,可能会产生MaxCompute的计算和存储费用。 |
网络服务费用 | 连通DataWorks和其他相关产品的网络环境时,可能会产生网络服务费用。例如,使用高速通道、共享带宽、EIP等产品连通网络时,会产生相应产品的服务费用。 |
环境准备
一、资源准备
DataWorks提供具备丰富产品能力的标准版、专业版、企业版,以及租户专有的Serverless资源组,您可结合实际业务开发需要选择。
类别 | 描述 | 相关文档 |
版本选择 | DataWorks基础版服务可满足MaxCompute开发中基本的数据上云、数据开发与调度生产、简单的数据治理工作,若需获取更专业的数据治理、数据安全解决方案,可选择相应的标准版、专业版、企业版服务。 | |
资源组选择 |
|
二、开发环境准备
您需先将MaxCompute项目创建为DataWorks工作空间的数据源并绑定至数据开发(DataStudio),才可进行相关开发工作。同时,支持以工作空间为单位管理空间成员以便进行协同开发。
类别 | 描述 | 相关文档 |
数据同步环境准备 | 基于DataWorks进行MaxCompute同步任务前,您需先将MaxCompute项目创建为工作空间的数据源。创建后,才可使用该数据源执行相关同步任务。 | |
数据开发、数据分析环境准备 | 基于DataWorks进行MaxCompute调度任务前,您需先将MaxCompute项目创建为工作空间的数据源并绑定至数据开发(DataStudio)。绑定后,才可使用该数据源进行相关数据开发、数据分析、周期性调度运行任务等操作。 | |
协同开发环境准备 | 为保障RAM用户以工作空间为单位进行协同开发,需将进行协同开发的RAM用户添加为当前工作空间的成员,并授予其开发角色。 |
权限控制
DataWorks为您提供了产品级与模块级的权限控制,并支持使用可视化方式申请与审批MaxCompute数据源的相关权限。权限控制相关介绍如下。
一、数据访问与权限控制
您可通过ODPS SQL节点或临时查询节点,查询MaxCompute表数据,简单模式工作空间无法做到细粒度权限控制及开发生产隔离,本文以标准模式工作空间示例说明。
权限预设情况说明
RAM用户被添加至工作空间成为空间成员后,其数据访问权限预设情况如下。
权限类别
描述
MaxCompute开发项目权限
DataWorks通过空间级预设角色与开发环境MaxCompute数据源Role的映射关系,让被授予空间角色的RAM用户(子账号)拥有该角色映射的开发数据源权限,默认拥有开发环境对应的数据源项目权限,但无生产环境对应的数据源项目权限。
MaxCompute生产项目权限
除被授予调度访问身份的RAM用户(子账号)拥有生产环境MaxCompute项目较大权限外,其他RAM用户(子账号)没有生产环境项目权限。如需操作生产表,请前往安全中心申请权限。
DataWorks为您提供了默认的审批流程,同时,也支持管理者自定义审批流程。
更多关于MaxCompute数据访问权限控制说明,请参见MaxCompute数据权限控制详情。
数据访问行为说明
MaxCompute支持跨项目查询表,因此,在数据开发(DataStudio)界面可通过指定项目名称的方式,跨项目查询DataWorks工作空间中的生产数据。跨项目访问表的方式及各界面执行所使用的账号说明,请见下表。
说明不同环境创建的数据源及环境配置的执行账号,可查看工作空间的数据源信息。详情请参见创建MaxCompute数据源。
DataWorks标准模式工作空间下,开发环境默认使用任务执行者个人身份执行任务,生产调度环境默认使用某云账号执行任务,即调度访问身份。详情请参见创建MaxCompute数据源。
代码示例
开发环境(数据开发、开发环境运维中心)执行代码
生产环境(生产环境运维中心)执行代码
访问开发项目中的开发表:
select col1 from projectname_dev.tablename;
使用任务执行者个人云账号访问开发表。
RAM用户(子账号)执行相关任务,则使用RAM用户(子账号)个人云账号访问开发表。
阿里云主账号执行相关任务,则使用阿里云主账号访问开发表。
使用调度访问身份访问开发表。
访问生产项目中的生产表:
select col1 from projectname.tablename;
使用任务执行者个人云账号访问生产表。
说明由于生产数据安全控制,个人云账号默认无权限访问生产表,需前往安全中心进行申请。DataWorks提供默认审批流程,支持管理者自定义审批流程。
使用调度访问身份访问生产表。
在目标类型环境(例如,开发环境)执行语句,访问相应环境中的表(即开发表):
select col1 from tablename;
在开发环境执行时,使用任务执行者个人云账号访问身份,访问开发数据源中目标表。
在生产环境执行时,使用调度访问身份,访问生产数据源中目标表。
二、功能模块权限控制
进行数据开发前,您可为用户授权指引授予工作空间成员不同空间角色,让其拥有不同的操作权限。权限类型如下:
通过RAM Policy权限体系,管理DataWorks功能模块(例如,不允许用户访问数据地图)与DataWorks控制台的权限(例如,允许用户删除工作空间)。
通过RBAC权限模型,管理DataWorks空间级模块(例如,允许用户进入数据开发执行相关开发操作)与全局模块的使用权限(例如,禁止用户访问数据保护伞模块)。
开始使用
DataWorks为您提供了多个功能模块,您可在数据开发(DataStudio)中进行调度任务的开发,并在开发完成后进入生产运维中心进行调度任务的监控运维。同时,提供了任务开发与发布的流程管控,助力您规范开发操作,保障开发过程的安全性。
一、数据集成
DataWorks的数据集成模块为您提供读取和写入数据至MaxCompute的能力,您可将其他数据源的数据同步至MaxCompute数据源,或将MaxCompute数据源的数据同步至其他数据源。同时,可根据需要选择离线同步、实时同步、全增量同步任务等场景执行相关数据同步操作。详情请参见数据集成。
二、数据建模与开发
模块 | 描述 | 相关文档 |
数据建模 | 数据建模是全链路数据治理的第一步,沉淀阿里巴巴数据中台建模方法论,从数仓规划、数据标准、维度建模、数据指标四个方面,以业务视角对业务的数据进行诠释,让企业内部实现“数同文”的快速理解与流通。 | |
数据开发 | DataWorks将MaxCompute计算引擎的能力进行了封装,支持您执行MaxCompute相关的数据同步、数据开发任务。
| |
您可结合DataWorks的通用类型节点和引擎计算节点进行复杂的逻辑处理。 主要节点如下:
| ||
节点任务开发完成后,可根据需要执行如下操作:
| ||
运维中心 | 运维中心是一站式大数据运维、监控平台,支持实时查看任务的运行状态,并为异常任务提供智能诊断、重跑等运维操作。它提供智能基线功能,帮助您解决重要任务产出时间不可控、海量任务监控难等问题,保障任务产出的时效性。 | |
数据质量 | 数据质量针对数据研发的全链路,保障数据可用性。通过对数据质量规则的高效校验,以及与任务调度流程的紧密结合,可以帮助用户第一时间发现质量问题、有效防止数据质量问题扩散,为业务提供高效、可靠、可信赖的数据。 |
三、数据分析
帮助您实现在线SQL分析、业务洞察、编辑和分享数据;并支持将查询结果保存为图表卡片,快速搭建可视化数据报告便于日常汇报。详情请参见数据分析概述。
四、数据治理
MaxCompute数据源绑定完成后,DataWorks将自动采集您数据源下的元数据,您可前往数据地图进行查看;同时,也可进入数据治理中心,查看DataWorks检测的待治理问题,进行相关数据的治理。
模块 | 说明 | 相关文档 |
数据地图 | DataWorks数据地图提供了企业级数据管理平台,能够基于统一元数据的底层建设,提供数据对象的管理和盘点的能力,以及数据对象的快速查找和深度理解的能力。 | |
安全中心 数据保护伞 审批中心 | 安全中心是集数据资产分级分类、敏感数据识别、数据授权管理、敏感数据脱敏、敏感数据访问审计、风险识别与响应于一体的一站式数据安全治理界面,帮助用户落地数据安全治理事项。 | |
数据治理中心 | 数据治理中心针对多个治理领域,通过数据领域规则沉淀、自动识别资产待优化问题项、覆盖事后及事前的治理优化策略等方式帮助用户主动式、体系化完成数据治理工作。 |
五、数据服务
DataWorks数据服务旨在为企业提供全面的数据服务及共享能力,帮助企业统一管理面向内外部的API服务。详情请参见数据服务概述。
六、开放平台
DataWorks支持开放能力,帮助您快速实现各类应用系统对接DataWorks、方便快捷的进行数据流程管控、数据治理和运维,及时响应应用系统对接DataWorks的业务状态变化。
类别 | 描述 | 相关文档 |
OpenAPI | DataWorks开放平台的OpenAPI功能,为您提供开放API能力,通过开放API实现本地服务和DataWorks服务的交互,提升企业大数据处理效率,减少人工操作和运维工作,降低数据风险和企业成本。 | |
开放事件 | DataWorks开放平台的开放事件(OpenEvent)功能,为您提供消息订阅服务,通过订阅DataWorks事件状态、应用系统对接DataWorks、实时获取相关内容的状态变化,帮助您及时响应相应事件,满足个性化决策需求。 | |
扩展程序 | DataWorks通过OpenEvent为您提供消息推送订阅功能,您可将服务程序注册为DataWorks的扩展程序,通过扩展程序来卡点并响应订阅的事件消息,实现通过扩展程序对特定事件进行消息通知与流程管控。 |
附录:DataWorks与MaxCompute的关系
简单模式工作空间仅一个生产环境,并且仅对应MaxCompute一个项目,本文以标准模式工作空间进行说明。
DataWorks为MaxCompute提供任务调度、元数据管理、数据治理、数据安全管控等能力,但任务计算、数据存储仍在MaxCompute中。标准模式工作空间下,DataWorks为不同环境绑定不同的MaxCompute项目,实现DataWorks开发环境与生产环境存储、资源等隔离。
在DataWorks工作空间创建MaxCompute数据源并绑定至数据开发(DataStudio),及查看各环境使用的MaxCompute项目,详情请参见创建MaxCompute数据源。
DataWorks调度任务下发逻辑,详情请参见DataWorks调度任务下发逻辑。