如果您希望周期性运行MaxCompute作业,可使用DataWorks的DataStudio开发周期性MaxCompute作业,并配置周期性调度的时间属性、调度依赖等配置项,将作业整体提交至DataWorks的运维中心进行周期性调度。本文为您概要介绍当前使用DataWorks开发周期性作业的能力。
周期性作业开发流程

- 不同类型的作业任务可以使用不同的节点,如ODPS SQL节点、ODPS Spark节点、PyODPS节点等。
- 同时您还可以通过DataWorks界面化的创建MaxCompute表、将MaxCompute函数注册至DataWorks、在DataWorks上创建MaxCompute资源,来提高作业开发效率。
- 同时您也可以使用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为您提供了产品级与模块级的权限控制,并支持使用可视化方式申请与审批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空间级模块(例如,允许用户进入数据开发执行相关开发操作)与全局模块的使用权限(例如,禁止用户访问数据保护伞模块)。
