对于使用MaxCompute的企业,通常会根据业务的差异性来创建多个MaxCompute项目进行数据隔离。由于每个MaxCompute项目对计算资源(CU)的需求不一致,需要对CU按照项目进行隔离,以便实现CU使用率最大化。本文为您介绍如何通过MaxCompute管家隔离MaxCompute包年包月CU。

背景信息

您可以通过 MaxCompute管家的配额组功能对购买的包年包月CU进行隔离。MaxCompute管家支持的配额组如下:
  • 默认预付费Quota:购买包年包月计算资源后,系统默认创建的配额组。该配额组不支持修改。升级或降配时,对应的CU量都在该配额组中进行增减。
  • 自定义配额组:在自定义的配额组中,预留CU最小配额非预留CU最大配额的值将从默认预付费Quota配额组对应的值里进行扣减。预留CU最大配额可以设置为购买的预留CU量。其中:
    • 预留CU最小配额:为最小保障CU量。
    • 预留CU最大配额:可使用的最大CU量。当有多个配额组且配置了预留CU最小配额<预留CU最大配额时,一旦有配额组的CU为空闲状态时,其他配额组可以占用空闲CU。该实现会导致所有配额组在当前账号当前区域内都是共享资源组。

所有配额组的预留CU最小配额相加等于购买的预留CU量;所有配额组的非预留CU最大配额相加等于购买的非预留CU量。

使用案例

场景

数据仓库团队使用MaxComput进行开发、分析、挖掘的业务大致为:数据仓库开发和生产、运营分析需求、算法挖掘。基于不同的业务创建不同的MaxCompute项目:
  • 数据仓库开发和生产:按照数据仓库模型分层划分MaxCompute项目,分为数据仓库开发项目和数据仓库生产项目。
  • 运营分析需求:根据业务需求创建不同部门专用的MaxCompute项目,获取日常数据并进行分析。
  • 算法挖掘:根据作业周期特点划分MaxCompute项目,分为算法开发项目和算法生产项目。

根据前期业务评估结果,购买的预留CU量为1000 CU,非预留CU量为600 CU。现在需要将这些CU合理地进行隔离分配,以便能最大化提升CU使用率。

划分CU

划分CU时,您可以关注如下内容:
  • 高保障MaxCompute项目主要配置预留CU,非预留CU可作为加持资源。
  • 预留CU最小配额要根据实际配置避免滥用。
  • 对于非高保障,优先级也不高但是可能请求大量CU的MaxCompute项目,建议控制对应配额组的预留CU最大配额,以免影响其他配额组。
  • 对于平均占用CU时间较长的MaxCompute项目可以设置独立配额组,同时控制对应配额组的预留CU最大配额
  • 对时效性要求不高,CU占用频率高的MaxCompute项目可以考虑设置非预留CU最大配额
  • 您可以根据实际情况结合分时功能实现CU利用最大化。更多分时信息,请参见设置配额组 > 设置分时
  • 默认预付费Quota配额组不支持修改CU配额,如果您不希望出现某些项目发起的作业可能会占用所有CU量的情况,可以考虑默认预付费Quota配额组不关联项目。由于默认预付费Quota配额组的预留CU最小配额不能为0,可以保留1 CU,然后设置其他配额组中的预留CU最小配额<预留CU最大配额,其他配额组依然能占用这1 CU。

设计配额组

配额组 特点 预留CU最小配额 预留CU最大配额 非预留CU最大配额 关联项目 分时设置
数据仓库生产配额组 高保障,有较为突出的CU请求波峰时段,小时作业CU请求较平稳。
  • 时段1:600
  • 时段2:300
  • 时段1:700
  • 时段2:700
0 数据仓库生产项目
  • 时段1:00:00:00~09:00:00
  • 时段2:09:00:00~23:59:59
数据仓库开发配额组 高保障,有较为突出的CU请求波谷时段。
  • 时段1:20
  • 时段2:100
  • 时段1:100
  • 时段2:100
0 数据仓库开发项目
  • 时段1:00:00:00~09:00:00
  • 时段2:09:00:00~23:59:59
算法生产配额组 高保障,部分作业的CPU占用量较高且运行时间较长。 300 300 400 算法生产项目 00:00:00~23:59:59
算法开发配额组 高保障,部分作业的CPU占用量较高且运行时间较长。 50 50 0 算法开发项目 00:00:00~23:59:59
运营分析配额组 使用的人员多,需要一定的CU保障,有较为突出的CU请求波谷时段,会有一些大作业长时间占用资源。
  • 时段1:30
  • 时段2:250
  • 时段1:300
  • 时段2:250
200 运营分析项目
  • 时段1:00:00:00~09:00:00
  • 时段2:09:00:00~23:59:59

考虑到上述业务的特点,对应配额组的预留CU最大配额都进行了限制,避免严重影响其他配额组的最低保障值。在MaxCompute管家上设计配额组时,默认预付费Quota配额组不关联MaxCompute项目,但预留CU最小配额又必须大于0,可以保留1 CU,将数据仓库开发项目的预留CU最小配额减1。

设置步骤

  1. 设置分时时段,增加00:00:00~09:00:00、09:00:00~23:59:59两个时段,操作详情请参见设置配额组 > 设置分时
  2. 基于配额组规划,新增配额组,设置数据仓库生产配额组、数据仓库开发配额组、算法生产配额组、算法开发配额组、运营分析配额组。操作详情请参见设置配额组 > 新建配额组
  3. 将项目关联对应的配额组,默认预付费Quota配额组不关联项目。操作详情请参见修改项目配额组

参考文档

随着业务的不断变化,配额组的划分也需要随之改变,所以您有必要随时监控配额组的使用情况,以便及时对配额组进行调整。您可以通过阿里云监控服务的MaxCompute-包年包月Quota组资源指标进行监控,详情请参见监控报警

您还可以结合MaxCompute更多的资源管理功能实现更精细的资源管理,例如包年包月项目使用按量计费资源包年包月项目作业优先级

包年包月资源分时配额最佳实践请参见包年包月资源分时配额