全部产品
Search
文档中心

云原生大数据计算服务 MaxCompute:计算费用(按量付费)

更新时间:Jan 27, 2026

MaxCompute支持对SQL、MapReduce、Spark、Mars、MCQA和MaxFrame作业按量计费。

计费简介

重要

欠费后有停机风险,系统会提醒或通知,请及时续费,避免对服务造成影响。

MaxCompute开放的计算作业类型有SQL、MapReduce、Spark、Mars、MCQA、MaxFrame、Graph及机器学习作业。其中SQL(不包括UDF)、MapReduce和Spark作业已启动收费。Mars作业自2020年9月1日起启动收费。MCQA作业自2020年10月1日起启动收费。其他类型计算作业暂无收费计划。

MaxCompute有以下两种计算计费方式:

  • 按量计费(后付费)方式

    即以作业的消耗作为计量指标,在作业执行成功后收取费用。

    按量计费分为SQL标准计费、SQL外部表计费、MapReduce计费、Spark计费、Mars计费、MCQA计费和MaxFrame计费六种。

  • 包年包月(预付费)方式

    即提前预定一部分资源。

包年包月

预先购买一部分资源,MaxCompute会预留该资源。资源的基本单位定义为CU(Compute Unit)。1 CU包含的计算资源为4 GB内存加1 Core CPU。包年包月计算资源包括SQL、MapReduce、Spark等类型作业计算所需资源。

资源定义

内存

CPU

售价USD/月

1 CU

4 GB

1 CPU

22.0

购买包年包月计算资源后,可以通过资源观测进行资源监控管理,详情请参见资源观测

建议新用户先采用按量计费方式进行结算。初期使用MaxCompute时,消耗的资源较少,采购CU预留资源会出现资源闲置。相对而言,按量计费方式成本更低。

SQL标准计费

每执行一个SQL作业,MaxCompute会根据作业的计算输入数据量SQL复杂度计费。

  • 与存储类似,SQL作业以压缩后的数据量计费。

  • 系统将在第二天对所有执行成功的SQL作业一次性汇总计费,体现在账号账单中,并自动从账号余额中扣除费用。账单在第二天06:00前出账。

  • 执行失败的SQL作业不计费。

SQL作业计费公式

一次SQL计算费用 = 计算输入数据量×SQL复杂度×SQL价格
  • 计算输入数据量:指一个SQL作业实际扫描的数据量,大部分的SQL作业有分区过滤和列裁剪,所以通常该值会远小于源表数据大小。

    • 分区过滤:例如SQL语句中含有WHERE ds > 20130101ds是分区列,则计费的数据量仅包括实际读取的分区,不包括其他分区的数据。

    • 列裁剪:例如SQL语句SELECT f1,f2,f3 FROM t1;,只计算t1表中f1、f2和f3列的数据量,其他列不参与计费。

  • SQL复杂度:先统计SQL语句中的关键字,再折算为SQL复杂度,详情如下:

    • SQL关键字个数=JOIN个数+GROUP BY个数+ORDER BY个数+DISTINCT个数+窗口函数个数+MAX(INSERT个数|UPDATE个数|DELETE个数-1, 1)

    • SQL复杂度计算:

      • SQL关键字个数小于等于3,复杂度为1。

      • SQL关键字个数小于等于6,且大于等于4,复杂度为1.5。

      • SQL关键字个数小于等于19,且大于等于7,复杂度为2。

      • SQL关键字个数大于等于20,复杂度为4。

    • 复杂度计量命令格式:

      COST SQL <SQL Sentence>;

    更多关键字信息,请参见JOINGROUP BYORDER BY窗口函数INSERTUPDATE|DELETE

SQL标准计费单价

  • 0.0438 USD/GB

  • 沙特(利雅得)地域由合作伙伴运营,单价为0.05256 USD/GB。

计算示例

odps@ $odps_project >COST SQL SELECT DISTINCT total1 FROM
(SELECT id1, COUNT(f1) AS total1 FROM in1 GROUP BY id1) tmp1
ORDER BY total1 DESC LIMIT 100;
Intput:1825361100.8 Bytes
Complexity:1.5

示例中,SQL关键字个数为:1个DISTINCT+1个GROUP BY+1个ORDER BY+MAX(0-1, 1)=4,SQL复杂度为1.5,数据量约为1.7 GB,则实际消费为:1.7 × 1.5 × 0.0438 = 0.11 USD

SQL外部表计费

自2019年3月起,MaxCompute正式对SQL外部表按量计费。

  • SQL复杂度系数为1。

  • 执行内外表混合作业时,系统会对两种表分别计费。

  • 不支持预估外部表参与计算的SQL作业费用。

  • 当天的所有计量信息在第二天做一次性汇总收费,并直接体现在账户账单中。账单在第二天06:00前出账。

SQL外部表计费公式

一次SQL计算费用=计算输入数据量×SQL价格

SQL外部表单价

  • 0.0044 USD/GB

  • 沙特(利雅得)地域由合作伙伴运营,单价为0.00528 USD/GB。

MapReduce按量计费

自2017年12月19日起,MaxCompute正式对MapReduce作业按量计费。 MapReduce作业执行成功后,系统会统计作业所消耗的计算时。

  • 系统将在第二天对所有执行成功的MapReduce作业一次性汇总计费,体现在账号账单中,并自动从账号余额中扣除费用。账单在第二天06:00前出账。

  • 作业排队时间不计费。

  • 执行失败的MapReduce作业不计费。

  • 如果购买了MaxCompute包年包月服务,可以在购买的服务范围内免费执行MapReduce作业,不需要额外支付费用。

MapReduce作业计费公式

MapReduce作业当日计算费用=当日总计算时×单价(USD)
  • MapReduce作业计算时计算公式

    一个执行成功的MapReduce作业计算时=作业运行时间(小时)×作业调用的Core数量。

    例如,一个MapReduce作业执行成功时调用了100 Core并消耗0.5小时,则计算时为100 Core×0.5小时=50

MapReduce作业单价

  • 0.0690 USD/计算时

  • 沙特(利雅得)地域由合作伙伴运营,单价为0.0828 USD/计算时。

Spark按量计费

自2019年2月1日起,MaxCompute正式对Spark作业按量计费,详情请参见MaxCompute Spark

Spark作业执行成功后,系统会统计作业所消耗的计算时。

  • 系统将在第二天对所有执行成功的Spark作业一次性汇总计费,体现在账号账单中,并自动从账号余额中扣除费用。账单在第二天06:00前出账。

  • 作业排队时间不计费。

  • 相同作业会因为指定资源的大小不同而产生费用波动。

  • 如果购买了MaxCompute包年包月服务,可以在购买的服务范围内免费执行Spark作业,不需要额外支付费用。

Spark作业计费公式

Spark作业当日计算费用 = 当日总计算时×单价(0.1041 USD/计算时)

Spark作业计算时计算方式如下

Spark作业计算时=MAX(CPU×时长, 向上取整(内存×时长/4))

根据消耗的CPU Core数量、运行时长以及内存量计算。

例如,执行Spark作业使用2 CPU Core和5 GB内存,运行1小时,则计算时为MAX(2×1, 向上取整(5×1/4))=2。执行Spark作业使用2 CPU Core和10 GB内存,运行1小时,则计算时为MAX(2×1, 向上取整(10×1/4))=3

Spark单价

  • 0.1041 USD/计算时

  • 沙特(利雅得)地域由合作伙伴运营,单价为0.12492 USD/计算时。

数据科学(Mars)按量计费

自2020年9月1日起,MaxCompute正式对Mars作业按量计费,详情请参见数据科学(Mars)

Mars作业执行成功后,系统会统计作业所消耗的计算时。系统将在第二天对所有执行成功的Mars作业一次性汇总计费,体现在账号账单中,并自动从账号余额中扣除费用。账单在第二天06:00前出账。

  • 作业排队时间不计费。

  • 相同作业会因为指定资源的大小不同而产生费用波动。

  • 如果购买了MaxCompute包年包月服务,可以在购买的服务范围内免费执行Mars作业,不需要额外支付费用。

Mars作业计费公式

Mars作业当日计算费用=当日总计算时×单价(0.1041 USD/计算时)

Mars作业计算时计算方式如下

Mars作业计算时=MAX(CPU×时长, 向上取整(内存×时长/4))

根据消耗的CPU Core数量、运行时长以及内存量计算。

例如,执行Mars作业使用2 CPU Core和5 GB内存,运行1小时,则计算时为MAX(2×1, 向上取整(5×1/4))=2。执行Mars作业使用2 CPU Core和10 GB内存,运行1小时,则计算时为MAX(2×1, 向上取整(10×1/4))=3

数据科学(Mars)单价

  • 0.1041 USD/计算时

  • 沙特(利雅得)地域由合作伙伴运营,单价为0.12492 USD/计算时。

查询加速(MCQA)按量计费

自2020年10月1日起,MaxCompute正式对MCQA作业按量计费,详情请参见查询加速(MCQA)

每执行一次MCQA作业,MaxCompute将根据作业的输入数据量进行计费。当天所有MCQA作业的计费信息将在第二天一次性汇总。账单在第二天06:00前出账。

重要

中国(香港)、新加坡、印度尼西亚(雅加达) 、马来西亚(吉隆坡)区域已开通MCQA作业按量计费服务,处于公测阶段,其他区域将陆续开放。

  • MaxCompute默认对数据进行列式存储和数据压缩。MaxCompute按照压缩后的数据量计算数据扫描量。

  • 取消的查询加速作业不计费

  • 不查询不产生任何费用。

  • 查询分区表时,可以应用分区过滤条件,减少数据扫描量并提升查询性能。

  • 如果已经购买了包年包月(预付费)资源,则可以单独划分一部分Quota资源给MCQA作业独立使用;如果只有按量付费,则当执行MCQA作业时,费用与普通SQL作业计算收费一致。

MCQA作业计费公式

一次MCQA作业费用=输入数据量×SQL复杂度×单价

MCQA作业单价

  • 0.0438 USD/GB

  • 沙特(利雅得)地域由合作伙伴运营,单价为0.05256 USD/GB。

MaxFrame作业按量付费

MaxFrame作业执行后,系统会统计作业所消耗的CU时(计算时)。系统将在第二天对所有MaxFrame作业的计费信息一次性汇总计费,并在06:00前汇总在账号账单中,自动从账号余额中扣除费用。

如果购买了MaxCompute包年包月服务,可以在购买的服务范围内免费执行MaxFrame作业,不需要额外支付费用。

重要

华东1(杭州)、华东2(上海)、华北2(北京)、华北6(乌兰察布)、华南1(深圳)、西南1(成都)、中国香港、日本(东京)、新加坡、印度尼西亚(雅加达)、德国(法兰克福)、美国(硅谷)、美国(弗吉尼亚)、华东1 金融云地域已开通MaxFrame作业按量付费服务。

MaxFrame作业计费公式

MaxFrame作业当日计算费用=当日总计算时×单价

MaxFrame作业单价

标准MaxFrame作业(指使用按量付费标准版计算配额的MaxFrame作业)

  • 0.0541 USD/计算时

  • 沙特(利雅得)地域由合作伙伴运营,单价为0.06496 USD/GB。

相关文档

  • 如果想了解费用的分布情况并避免在使用MaxCompute产品时费用超出预期,可以通过获取MaxCompute账单并进行分析,为资源使用率最大化及降低成本提供有效支撑。详情请参见MaxCompute账单用量明细分析

  • 在使用MaxCompute开发过程中会产生费用,如果平时每日消费比较平稳,某段时间的费用增长翻倍。在排除业务增长的情况下,可以进行费用分析,排查导致费用突增的项目、作业是哪些,进而及时优化和调整作业,优化成本。详情请参见MaxCompute后付费消费突增排查