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

周期性作业开发流程

DataWorks on 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(例如,企业版),则在开通时需支付相应增值版本的版本费用。

  • 任务调度的调度资源费用

    任务开发完成后,进行任务调度时需使用调度资源。您需按需购买调度资源组(例如,包年包月的独享调度资源组、按量付费的公共调度资源组),支付相应的资源组费用。

  • 数据同步的同步资源费用

    运行数据同步任务时,除调度资源外,还需使用数据同步资源。您需按需购买数据同步所需的资源组(例如,包年包月的独享数据集成资源组、按量付费的公共数据集成(调试)资源组),支付相应的资源组费用。

说明
  • 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空间级模块(例如,允许用户进入数据开发执行相关开发操作)与全局模块的使用权限(例如,禁止用户访问数据保护伞模块)。
开发流程